diff --git a/.gitignore b/.gitignore
index f81aaec..6c1a8dd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,4 @@
_site
-.sass-cache
-roster.*
-.ipynb_checkpoints
+.*.sw[op]
.DS_Store
-notebooks/.DS_Store
\ No newline at end of file
+.ipynb_checkpoints/
diff --git a/03_lecture_code_kunal_040416.ipynb b/03_lecture_code_kunal_040416.ipynb
deleted file mode 100644
index 3f57e74..0000000
--- a/03_lecture_code_kunal_040416.ipynb
+++ /dev/null
@@ -1,969 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# Accessing Databases via Web APIs: Lecture Code\n",
- "* * * * *"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 2,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Import required libraries\n",
- "import requests\n",
- "# from urllib3 import quote_plus\n",
- "import json\n",
- "from __future__ import division\n",
- "import math"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## 1. Constructing API GET Request\n",
- "\n",
- "In the first place, we know that every call will require us to provide a) a base URL for the API, b) some authorization code or key, and c) a format for the response. So let's put store those in some variables."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 3,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "# set key\n",
- "key=\"6e23901ee0fc07f0f6cee3a45b566bc5:13:73313103\"\n",
- "\n",
- "# set base url\n",
- "base_url=\"http://api.nytimes.com/svc/search/v2/articlesearch\"\n",
- "\n",
- "# set response format\n",
- "response_format=\".json\""
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "You often want to send some sort of data in the URL’s query string. This data tells the API what information you want. In our case, we want articles about Duke Ellington. Requests allows you to provide these arguments as a dictionary, using the `params` keyword argument. In addition to the search term `q`, we have to put in the `api-key` term."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 4,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "# set search parameters\n",
- "search_params = {\"q\":\"Duke Ellington\",\n",
- " \"api-key\":key} "
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Now we're ready to make the request. We use the `.get` method from the `requests` library to make an HTTP GET Request."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 5,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# make request\n",
- "r = requests.get(base_url+response_format, params=search_params)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Now, we have a [response](http://docs.python-requests.org/en/latest/api/#requests.Response) object called `r`. We can get all the information we need from this object. For instance, we can see that the URL has been correctly encoded by printing the URL. Click on the link to see what happens."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 6,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "http://api.nytimes.com/svc/search/v2/articlesearch.json?api-key=6e23901ee0fc07f0f6cee3a45b566bc5%3A13%3A73313103&q=Duke+Ellington\n"
- ]
- }
- ],
- "source": [
- "print(r.url)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Click on that link to see it returns!"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Challenge 1: Adding a date range\n",
- "\n",
- "What if we only want to search within a particular date range? The NYT Article Api allows us to specify start and end dates.\n",
- "\n",
- "Alter the `search_params` code above so that the request only searches for articles in the year 2005.\n",
- "\n",
- "You're gonna need to look at the documentation [here](http://developer.nytimes.com/docs/read/article_search_api_v2) to see how to do this."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 7,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "http://api.nytimes.com/svc/search/v2/articlesearch.json?end_date=20051231&api-key=6e23901ee0fc07f0f6cee3a45b566bc5%3A13%3A73313103&q=Duke+Ellington&begin_date=20050101\n"
- ]
- }
- ],
- "source": [
- "#YOUR CODE HERE\n",
- "\n",
- "\n",
- "search_params = {\"q\":\"Duke Ellington\",\n",
- " \"api-key\":key,\n",
- " \"begin_date\": 20050101,\n",
- " \"end_date\": 20051231,\n",
- " } \n",
- "# Uncomment to test\n",
- "r = requests.get(base_url+response_format, params=search_params)\n",
- "print(r.url)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Challenge 2: Specifying a results page\n",
- "\n",
- "The above will return the first 10 results. To get the next ten, you need to add a \"page\" parameter. Change the search parameters above to get the second 10 resuls. "
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 8,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "#YOUR CODE HERE\n",
- "\n",
- "# Uncomment to test\n",
- "# r = requests.get(base_url+response_format, params=search_params)\n",
- "# r.url"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## 2. Parsing the response text"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "We can read the content of the server’s response using `.text`"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 9,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "{\"response\":{\"meta\":{\"hits\":77,\"time\":36,\"offset\":0},\"docs\":[{\"web_url\":\"http:\\/\\/www.nytimes.com\\/2005\\/10\\/02\\/nyregion\\/02bookshelf.html\",\"snippet\":\"A WIDOW'S WALK:.\",\"lead_paragraph\":\"A WIDOW'S WALK: A Memoir of 9\\/11 By Marian Fontana Simon & Schuster ($24, hardcover) Theresa and I walk into the Blue Ribbon, an expensive, trendy restaurant on Fifth Avenue in Park Slope. We sit at a banquette in the middle of the room and read the eclectic menu, my eyes instinctively scanning the prices for the least expensive item.\",\"abstract\":null,\"print_page\":\"9\",\"blog\":[],\"source\":\"The New York Times\",\"multimedia\":[],\"headline\":{\"main\":\"NEW YORK BOOKSHELF\\/NONFICTION\",\"kicker\":\"New York Bookshelf\"},\"keywords\":[{\"name\":\"persons\",\"value\":\"ELLINGTON, DUKE\"},{\"name\":\"persons\",\"value\":\"HARRIS, DANIEL\"}],\"pub_date\":\"2005-10-02T00:00:00Z\",\"document_type\":\"article\",\"news_desk\":\"The City Weekly Desk\",\"section_name\":\"New York and Region\",\"subsection_name\":null,\"byline\":{\"person\":[{\"firstname\":\"N.\",\"middl\n"
- ]
- }
- ],
- "source": [
- "# Inspect the content of the response, parsing the result as text\n",
- "response_text= r.text\n",
- "print(response_text[:1000])"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "What you see here is JSON text, encoded as unicode text. JSON stands for \"Javascript object notation.\" It has a very similar structure to a python dictionary -- both are built on key/value pairs. This makes it easy to convert JSON response to a python dictionary."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 10,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Convert JSON response to a dictionary\n",
- "data=json.loads(response_text)\n",
- "# data"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "That looks intimidating! But it's really just a big dictionary. Let's see what keys we got in there."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 17,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "#data"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 18,
- "metadata": {
- "collapsed": false,
- "scrolled": true
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "dict_keys(['response', 'copyright', 'status'])"
- ]
- },
- "execution_count": 18,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "data.keys()"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 19,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "'OK'"
- ]
- },
- "execution_count": 19,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "# this is boring\n",
- "data['status']"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 20,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "'Copyright (c) 2013 The New York Times Company. All Rights Reserved.'"
- ]
- },
- "execution_count": 20,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "# so is this\n",
- "data['copyright']"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 21,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# this is what we want!\n",
- "#data['response']"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 22,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "dict_keys(['meta', 'docs'])"
- ]
- },
- "execution_count": 22,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "data['response'].keys()"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 23,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "{'hits': 77, 'offset': 0, 'time': 36}"
- ]
- },
- "execution_count": 23,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "data['response']['meta']"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 24,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "list"
- ]
- },
- "execution_count": 24,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "# data['response']['docs']\n",
- "type(data['response']['docs'])"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "That looks what we want! Let's put that in it's own variable."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 25,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "docs = data['response']['docs']"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 26,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "{'_id': '4fd2872b8eb7c8105d858553',\n",
- " 'abstract': None,\n",
- " 'blog': [],\n",
- " 'byline': {'original': 'By N.R. Kleinfield',\n",
- " 'person': [{'firstname': 'N.',\n",
- " 'lastname': 'Kleinfield',\n",
- " 'middlename': 'R.',\n",
- " 'organization': '',\n",
- " 'rank': 1,\n",
- " 'role': 'reported'}]},\n",
- " 'document_type': 'article',\n",
- " 'headline': {'kicker': 'New York Bookshelf',\n",
- " 'main': 'NEW YORK BOOKSHELF/NONFICTION'},\n",
- " 'keywords': [{'name': 'persons', 'value': 'ELLINGTON, DUKE'},\n",
- " {'name': 'persons', 'value': 'HARRIS, DANIEL'}],\n",
- " 'lead_paragraph': \"A WIDOW'S WALK: A Memoir of 9/11 By Marian Fontana Simon & Schuster ($24, hardcover) Theresa and I walk into the Blue Ribbon, an expensive, trendy restaurant on Fifth Avenue in Park Slope. We sit at a banquette in the middle of the room and read the eclectic menu, my eyes instinctively scanning the prices for the least expensive item.\",\n",
- " 'multimedia': [],\n",
- " 'news_desk': 'The City Weekly Desk',\n",
- " 'print_page': '9',\n",
- " 'pub_date': '2005-10-02T00:00:00Z',\n",
- " 'section_name': 'New York and Region',\n",
- " 'slideshow_credits': None,\n",
- " 'snippet': \"A WIDOW'S WALK:.\",\n",
- " 'source': 'The New York Times',\n",
- " 'subsection_name': None,\n",
- " 'type_of_material': 'News',\n",
- " 'web_url': 'http://www.nytimes.com/2005/10/02/nyregion/02bookshelf.html',\n",
- " 'word_count': 629}"
- ]
- },
- "execution_count": 26,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "docs[0]"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## 3. Putting everything together to get all the articles."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "That's great. But we only have 10 items. The original response said we had 171 hits! Which means we have to make 171 /10, or 18 requests to get them all. Sounds like a job for a loop! \n",
- "\n",
- "But first, let's review what we've done so far."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 27,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "number of hits: 77\n",
- "collecting page 0\n",
- "collecting page 1\n",
- "collecting page 2\n",
- "collecting page 3\n",
- "collecting page 4\n",
- "collecting page 5\n",
- "collecting page 6\n",
- "collecting page 7\n"
- ]
- }
- ],
- "source": [
- "# set key\n",
- "key=\"6e23901ee0fc07f0f6cee3a45b566bc5:13:73313103\"\n",
- "# set base url\n",
- "base_url=\"http://api.nytimes.com/svc/search/v2/articlesearch\"\n",
- "# set response format\n",
- "response_format=\".json\"\n",
- "# set search parameters\n",
- "search_params = {\"q\":\"Duke Ellington\",\n",
- " \"api-key\":key,\n",
- " \"begin_date\":\"20050101\", # date must be in YYYYMMDD format\n",
- " \"end_date\":\"20051231\"}\n",
- "# make request\n",
- "r = requests.get(base_url+response_format, params=search_params)\n",
- "# convert to a dictionary\n",
- "data=json.loads(r.text)\n",
- "# get number of hits\n",
- "hits = data['response']['meta']['hits']\n",
- "print(\"number of hits: \" + str(hits))\n",
- "# get number of pages\n",
- "pages = int(math.ceil(hits/10))\n",
- "# make an empty list where we'll hold all of our docs for every page\n",
- "all_docs = [] \n",
- "# now we're ready to loop through the pages\n",
- "for i in range(pages):\n",
- " print(\"collecting page \" + str(i))\n",
- " # set the page parameter\n",
- " search_params['page'] = i\n",
- " # make request\n",
- " r = requests.get(base_url+response_format, params=search_params)\n",
- " # get text and convert to a dictionary\n",
- " data=json.loads(r.text)\n",
- " # get just the docs\n",
- " docs = data['response']['docs']\n",
- " # add those docs to the big list\n",
- " all_docs = all_docs + docs"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 28,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "77"
- ]
- },
- "execution_count": 28,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "len(all_docs)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Challenge 3: Make a function\n",
- "\n",
- "Turn the code above into a function that inputs a search term, and returns all the documents containing that search term in 2014."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 29,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "#YOUR CODE HERE\n",
- "\n",
- "def search_nyt_2014(term, year = 2014):\n",
- " # set key\n",
- " key=\"6e23901ee0fc07f0f6cee3a45b566bc5:13:73313103\"\n",
- " # set base url\n",
- " base_url=\"http://api.nytimes.com/svc/search/v2/articlesearch\"\n",
- " # set response format\n",
- " response_format=\".json\"\n",
- " # set search parameters\n",
- " search_params = {\"q\":term,\n",
- " \"api-key\":key,\n",
- " \"begin_date\":str(year)+\"0101\", # date must be in YYYYMMDD format\n",
- " \"end_date\":str(year)+\"1231\"}\n",
- " # make request\n",
- " r = requests.get(base_url+response_format, params=search_params)\n",
- " # convert to a dictionary\n",
- " data=json.loads(r.text)\n",
- " # get number of hits\n",
- " hits = data['response']['meta']['hits']\n",
- " print(\"number of hits: \" + str(hits))\n",
- " # get number of pages\n",
- " pages = int(math.ceil(hits/10))\n",
- " # make an empty list where we'll hold all of our docs for every page\n",
- " all_docs = [] \n",
- " # now we're ready to loop through the pages\n",
- " for i in range(pages):\n",
- " print(\"collecting page \" + str(i))\n",
- " # set the page parameter\n",
- " search_params['page'] = i\n",
- " # make request\n",
- " r = requests.get(base_url+response_format, params=search_params)\n",
- " # get text and convert to a dictionary\n",
- " data=json.loads(r.text)\n",
- " # get just the docs\n",
- " docs = data['response']['docs']\n",
- " # add those docs to the big list\n",
- " all_docs = all_docs + docs\n",
- " return all_docs"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 30,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "number of hits: 572\n",
- "collecting page 0\n",
- "collecting page 1\n",
- "collecting page 2\n",
- "collecting page 3\n",
- "collecting page 4\n",
- "collecting page 5\n",
- "collecting page 6\n",
- "collecting page 7\n",
- "collecting page 8\n",
- "collecting page 9\n",
- "collecting page 10\n",
- "collecting page 11\n",
- "collecting page 12\n",
- "collecting page 13\n",
- "collecting page 14\n",
- "collecting page 15\n",
- "collecting page 16\n",
- "collecting page 17\n",
- "collecting page 18\n",
- "collecting page 19\n",
- "collecting page 20\n",
- "collecting page 21\n",
- "collecting page 22\n",
- "collecting page 23\n",
- "collecting page 24\n",
- "collecting page 25\n",
- "collecting page 26\n",
- "collecting page 27\n",
- "collecting page 28\n",
- "collecting page 29\n",
- "collecting page 30\n",
- "collecting page 31\n",
- "collecting page 32\n",
- "collecting page 33\n",
- "collecting page 34\n",
- "collecting page 35\n",
- "collecting page 36\n",
- "collecting page 37\n",
- "collecting page 38\n",
- "collecting page 39\n",
- "collecting page 40\n",
- "collecting page 41\n",
- "collecting page 42\n",
- "collecting page 43\n",
- "collecting page 44\n",
- "collecting page 45\n",
- "collecting page 46\n",
- "collecting page 47\n",
- "collecting page 48\n",
- "collecting page 49\n",
- "collecting page 50\n",
- "collecting page 51\n",
- "collecting page 52\n",
- "collecting page 53\n",
- "collecting page 54\n",
- "collecting page 55\n",
- "collecting page 56\n",
- "collecting page 57\n"
- ]
- }
- ],
- "source": [
- "stuff = search_nyt_2014(\"marco rubio\")"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## 4. Formatting and Exporting\n",
- "\n",
- "Let's take another look at one of these documents."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 31,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "{'_id': '53755d9c79881068df7c36a4',\n",
- " 'abstract': \"Paul Krugman Op-Ed column criticizes Republican Sen Marco Rubio for declaring overwhelming scientific consensus on climate change to be false; contends Republicans have reached a point where allegiance to false doctrines has become crucial badge of identity; compares party's resistance to science about climate change to its insistence that runaway inflation is a problem.\",\n",
- " 'blog': [],\n",
- " 'byline': {'contributor': '',\n",
- " 'original': 'By PAUL KRUGMAN',\n",
- " 'person': [{'firstname': 'Paul',\n",
- " 'lastname': 'KRUGMAN',\n",
- " 'organization': '',\n",
- " 'rank': 1,\n",
- " 'role': 'reported'}]},\n",
- " 'document_type': 'article',\n",
- " 'headline': {'content_kicker': 'Op-Ed Columnist',\n",
- " 'kicker': 'Op-Ed Columnist',\n",
- " 'main': 'Points of No Return',\n",
- " 'print_headline': 'Points of No Return'},\n",
- " 'keywords': [{'is_major': 'Y',\n",
- " 'name': 'subject',\n",
- " 'rank': '1',\n",
- " 'value': 'Global Warming'},\n",
- " {'is_major': 'Y',\n",
- " 'name': 'subject',\n",
- " 'rank': '2',\n",
- " 'value': 'United States Politics and Government'},\n",
- " {'is_major': 'N',\n",
- " 'name': 'organizations',\n",
- " 'rank': '3',\n",
- " 'value': 'Republican Party'},\n",
- " {'is_major': 'Y', 'name': 'persons', 'rank': '4', 'value': 'Rubio, Marco'},\n",
- " {'is_major': 'Y',\n",
- " 'name': 'subject',\n",
- " 'rank': '5',\n",
- " 'value': 'Inflation (Economics)'},\n",
- " {'is_major': 'N',\n",
- " 'name': 'glocations',\n",
- " 'rank': '6',\n",
- " 'value': 'United States'}],\n",
- " 'lead_paragraph': 'False doctrines on climate science have become badges of identity for Republicans, and that’s more frightening than some of the environmental change underway.',\n",
- " 'multimedia': [{'height': 126,\n",
- " 'legacy': {'wide': 'images/2014/10/30/opinion/krugman-new-1114/krugman-new-1114-thumbWide.jpg',\n",
- " 'wideheight': '126',\n",
- " 'widewidth': '190'},\n",
- " 'subtype': 'wide',\n",
- " 'type': 'image',\n",
- " 'url': 'images/2014/10/30/opinion/krugman-new-1114/krugman-new-1114-thumbWide.jpg',\n",
- " 'width': 190},\n",
- " {'height': 900,\n",
- " 'legacy': {'xlarge': 'images/2014/10/30/opinion/krugman-new-1114/krugman-new-1114-articleLarge.jpg',\n",
- " 'xlargeheight': '900',\n",
- " 'xlargewidth': '600'},\n",
- " 'subtype': 'xlarge',\n",
- " 'type': 'image',\n",
- " 'url': 'images/2014/10/30/opinion/krugman-new-1114/krugman-new-1114-articleLarge.jpg',\n",
- " 'width': 600},\n",
- " {'height': 75,\n",
- " 'legacy': {'thumbnail': 'images/2014/10/30/opinion/krugman-new-1114/krugman-new-1114-thumbStandard.jpg',\n",
- " 'thumbnailheight': '75',\n",
- " 'thumbnailwidth': '75'},\n",
- " 'subtype': 'thumbnail',\n",
- " 'type': 'image',\n",
- " 'url': 'images/2014/10/30/opinion/krugman-new-1114/krugman-new-1114-thumbStandard.jpg',\n",
- " 'width': 75}],\n",
- " 'news_desk': 'Editorial',\n",
- " 'print_page': '27',\n",
- " 'pub_date': '2014-05-16T00:00:00Z',\n",
- " 'section_name': 'Opinion',\n",
- " 'slideshow_credits': None,\n",
- " 'snippet': 'False doctrines on climate science have become badges of identity for Republicans, and that’s more frightening than some of the environmental change underway.',\n",
- " 'source': 'The New York Times',\n",
- " 'subsection_name': None,\n",
- " 'type_of_material': 'Op-Ed',\n",
- " 'web_url': 'http://www.nytimes.com/2014/05/16/opinion/krugman-points-of-no-return.html',\n",
- " 'word_count': '786'}"
- ]
- },
- "execution_count": 31,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "stuff[0]"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "This is all great, but it's pretty messy. What we’d really like to to have, eventually, is a CSV, with each row representing an article, and each column representing something about that article (header, date, etc). As we saw before, the best way to do this is to make a lsit of dictionaries, with each dictionary representing an article and each dictionary representing a field of metadata from that article (e.g. headline, date, etc.) We can do this with a custom function:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 32,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "def format_articles(unformatted_docs):\n",
- " '''\n",
- " This function takes in a list of documents returned by the NYT api \n",
- " and parses the documents into a list of dictionaries, \n",
- " with 'id', 'header', and 'date' keys\n",
- " '''\n",
- " formatted = []\n",
- " for i in unformatted_docs:\n",
- " dic = {}\n",
- " dic['id'] = i['_id']\n",
- " dic['headline'] = i['headline']['main'].encode(\"utf8\")\n",
- " dic['date'] = i['pub_date'][0:10] # cutting time of day.\n",
- " formatted.append(dic)\n",
- " return(formatted) "
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 33,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "all_formatted = format_articles(stuff)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 34,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "[{'date': '2014-05-16',\n",
- " 'headline': b'Points of No Return',\n",
- " 'id': '53755d9c79881068df7c36a4'},\n",
- " {'date': '2014-12-18',\n",
- " 'headline': b'2014: Rubio Criticizes Obama on Cuba',\n",
- " 'id': '5493863779881048d26b30e3'},\n",
- " {'date': '2014-11-11',\n",
- " 'headline': b'A Well-Timed Book Tour for Rubio',\n",
- " 'id': '5462503079881072f4f7304b'},\n",
- " {'date': '2014-05-12',\n",
- " 'headline': b'Rubio on a Presidential Bid, and Climate Change',\n",
- " 'id': '536fc5c2798810420b81d1ee'},\n",
- " {'date': '2014-03-02',\n",
- " 'headline': b'Rubio Proposes Steps U.S. Should Take With Russia',\n",
- " 'id': '531288fb79881022a8e2e718'}]"
- ]
- },
- "execution_count": 34,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "all_formatted[:5]"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Challenge 4: Export the data to a CSV."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 35,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "number of hits: 87\n",
- "collecting page 0\n",
- "collecting page 1\n",
- "collecting page 2\n",
- "collecting page 3\n",
- "collecting page 4\n",
- "collecting page 5\n",
- "collecting page 6\n",
- "collecting page 7\n",
- "collecting page 8\n"
- ]
- }
- ],
- "source": [
- "import csv\n",
- "stuff = search_nyt_2014(\"berkeley police california\", 2015)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 36,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "\n",
- "testfile = open('test.csv','w')\n",
- "f = csv.writer(testfile)\n",
- "f.writerow([\"date\", \"headline\", \"id\"])\n",
- "for x in format_articles(stuff):\n",
- " f.writerow([x[\"date\"],x[\"headline\"],x[\"id\"]])\n",
- "testfile.close()"
- ]
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.4.4"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 0
-}
diff --git a/03_lecture_code_kunal_040416.pdf b/03_lecture_code_kunal_040416.pdf
deleted file mode 100644
index 9fcfc85..0000000
Binary files a/03_lecture_code_kunal_040416.pdf and /dev/null differ
diff --git a/CNAME b/CNAME
deleted file mode 100644
index e4c7849..0000000
--- a/CNAME
+++ /dev/null
@@ -1 +0,0 @@
-python.berkeley.edu
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index 5f0a77e..0000000
--- a/LICENSE
+++ /dev/null
@@ -1,89 +0,0 @@
-
-Creative Commons Attribution-NonCommercial 4.0 International Public License
-
-By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-NonCommercial 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.
-
-Section 1 – Definitions.
-
-Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.
-Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License.
-Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
-Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.
-Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
-Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License.
-Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.
-Licensor means the individual(s) or entity(ies) granting rights under this Public License.
-NonCommercial means not primarily intended for or directed towards commercial advantage or monetary compensation. For purposes of this Public License, the exchange of the Licensed Material for other material subject to Copyright and Similar Rights by digital file-sharing or similar means is NonCommercial provided there is no payment of monetary compensation in connection with the exchange.
-Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.
-Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.
-You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning.
-Section 2 – Scope.
-
-License grant.
-Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to:
-reproduce and Share the Licensed Material, in whole or in part, for NonCommercial purposes only; and
-produce, reproduce, and Share Adapted Material for NonCommercial purposes only.
-Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions.
-Term. The term of this Public License is specified in Section 6(a).
-Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material.
-Downstream recipients.
-Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.
-No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.
-No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i).
-Other rights.
-
-Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise.
-Patent and trademark rights are not licensed under this Public License.
-To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties, including when the Licensed Material is used other than for NonCommercial purposes.
-Section 3 – License Conditions.
-
-Your exercise of the Licensed Rights is expressly made subject to the following conditions.
-
-Attribution.
-
-If You Share the Licensed Material (including in modified form), You must:
-
-retain the following if it is supplied by the Licensor with the Licensed Material:
-identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
-a copyright notice;
-a notice that refers to this Public License;
-a notice that refers to the disclaimer of warranties;
-a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
-indicate if You modified the Licensed Material and retain an indication of any previous modifications; and
-indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License.
-You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.
-If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable.
-If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License.
-Section 4 – Sui Generis Database Rights.
-
-Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:
-
-for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database for NonCommercial purposes only;
-if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and
-You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.
-For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights.
-Section 5 – Disclaimer of Warranties and Limitation of Liability.
-
-Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.
-To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.
-The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
-Section 6 – Term and Termination.
-
-This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically.
-Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:
-
-automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or
-upon express reinstatement by the Licensor.
-For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License.
-For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.
-Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
-Section 7 – Other Terms and Conditions.
-
-The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.
-Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.
-Section 8 – Interpretation.
-
-For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.
-To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.
-No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
-Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
diff --git a/README.md b/README.md
index 66ca61c..d4db7c9 100644
--- a/README.md
+++ b/README.md
@@ -1,26 +1,10 @@
-# Python at Berkeley
-Python resources of Berkeley curated in one place
+python-berkeley
+===============
-## Using the site
-Visit [http://python.berkeley.edu](http://python.berkeley.edu). In particular, please visit:
-* [New to Python](http://python.berkeley.edu/learn): the best resources for new learners
-* [Community](http://python.berkeley.edu/community): a list of people, organizations, and projects in Berkeley using Python
-* [Resources](http://python.berkeley.edu/resources): an extended list of resources for using and learning Python, both online and in-person
-* [Past Meetings](http://python.berkeley.edu/past): The Python learners' group meets regularly, and topics from past meetings are here.
+A repo that exists to host GitHub Pages for:
-## Weekly Python Learners' group (in-person)
-This group meets to learn both fundamentals of programming and specialized topics in Python, with emphasis on visualization and data science. All skill levels are welcome --- even if you're never programmed before! Check the [website](http://python.berkeley.edu) for meeting times and locations.
+http://python.berkeley.edu
-## Contributing to the site
-These pages are community-curated and are open to changes. The [Resources](http://python.berkeley.edu/resources) page especially could use some help. Please make an issue or pull request with your changes. If you're unsure how to do this, please email the D-Lab front desk at [dlab-frontdesk@berkeley.edu](mailto:dlab-frontdesk@berkeley.edu).
-* To run this site locally, download this repository and run ```jekyll serve --future```.
-* The main pages on the website are located in ```pages/```. The home page is in ```index.md```.
-* To add a meeting, look in ```_posts/``` and follow the format of the file name & content.
-* To change general webpage styles, look in ```_includes/``` and ```_layouts/```.
-* In the past, we've held other Python-based events. They are not directly linked on the main page for simplicity.
- * We had several D-Lab Python trainings. Their homepages are in the ```trainings/``` folder.
- * Dav Clark ran a Python working group in 2013-2014. His pages are located in ```_site``` and ```events```.
-* I know there are other random files (.ipynb, .csv, .xlsx, .pdf) just "sitting" in the repository. They probably ARE linked on some other pages. If someone cleans this up (like putting all Spring 2016 files in a folder), please update the links on the meeting pages (check files in the ```_posts``` folder.)
+Check the gh-pages branch for the Jekyll code!
----
-Thanks for visiting!
+_Go Bears_ !
diff --git a/_config.yml b/_config.yml
deleted file mode 100644
index 9f0c6ce..0000000
--- a/_config.yml
+++ /dev/null
@@ -1,40 +0,0 @@
-# Site settings
-title: Python Practice
-email: dlab-frontdesk@berkeley.edu
-description: >
- New to programming? Here is a collection of learning resources for the
- Python programming language and information about projects that use it on
- the UC Berkeley campus.
-gems:
- - jekyll-redirect-from
-future: true #so you see future posts!
-github_username: dlab-berkeley/python-berkeley #for github link in footer
-permalink: /:year-:month-:day-:title/
-viewsourceroot: https://github.com/dlab-berkeley/python-berkeley/edit/gh-pages/ #link in footer to edit this page
-
-
-
-
-############################################
-## NOT SURE ABOUT THESE SETTINGS ##
-
-############################################
-newsourceroot: https://github.com/dlab-berkeley/python-berkeley/blob/gh-pages/
-############################################
-# url: "http://yourdomain.com" # the base hostname & protocol for your site
-# twitter_username: jekyllrb
-############################################
-# for duoshuo.com commenting system, uncomment following line if you do not want to include duoshuo.com.
-#duoshuo_shortname: lixizhi
-#duoshuo_url: "http://lixizhi.github.io"
-# disqus.com commenting system. please note that it is exclusive with duoshuo.com
-#disqus_shortname: lixizhi
-#disqus_url: "http://lixizhi.github.io"
-#########################################
-# Build settings
-# This is default
-markdown: kramdown
-kramdown:
- smart_quotes: ["apos", "apos", "quot", "quot"] #smart quotes do stupid things with this theme, so turns them off
-# The default highlighter for Jekyll, and the ONLY one on GitHub
-# highlighter: rouge
diff --git a/_includes/JB/analytics b/_includes/JB/analytics
deleted file mode 100644
index 951a0e3..0000000
--- a/_includes/JB/analytics
+++ /dev/null
@@ -1,16 +0,0 @@
-{% if site.safe and site.JB.analytics.provider and page.JB.analytics != false %}
-
-{% case site.JB.analytics.provider %}
-{% when "google" %}
- {% include JB/analytics-providers/google %}
-{% when "getclicky" %}
- {% include JB/analytics-providers/getclicky %}
-{% when "mixpanel" %}
- {% include JB/analytics-providers/mixpanel %}
-{% when "piwik" %}
- {% include JB/analytics-providers/piwik %}
-{% when "custom" %}
- {% include custom/analytics %}
-{% endcase %}
-
-{% endif %}
\ No newline at end of file
diff --git a/_includes/JB/analytics-providers/getclicky b/_includes/JB/analytics-providers/getclicky
deleted file mode 100644
index e9462f4..0000000
--- a/_includes/JB/analytics-providers/getclicky
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
diff --git a/_includes/JB/analytics-providers/google b/_includes/JB/analytics-providers/google
deleted file mode 100644
index 9014866..0000000
--- a/_includes/JB/analytics-providers/google
+++ /dev/null
@@ -1,11 +0,0 @@
-
\ No newline at end of file
diff --git a/_includes/JB/analytics-providers/mixpanel b/_includes/JB/analytics-providers/mixpanel
deleted file mode 100644
index 4406eb0..0000000
--- a/_includes/JB/analytics-providers/mixpanel
+++ /dev/null
@@ -1,11 +0,0 @@
-
\ No newline at end of file
diff --git a/_includes/JB/analytics-providers/piwik b/_includes/JB/analytics-providers/piwik
deleted file mode 100755
index 077a373..0000000
--- a/_includes/JB/analytics-providers/piwik
+++ /dev/null
@@ -1,10 +0,0 @@
-
\ No newline at end of file
diff --git a/_includes/JB/categories_list b/_includes/JB/categories_list
deleted file mode 100644
index 83be2e2..0000000
--- a/_includes/JB/categories_list
+++ /dev/null
@@ -1,37 +0,0 @@
-{% comment %}{% endcomment %}
-
-{% if site.JB.categories_list.provider == "custom" %}
- {% include custom/categories_list %}
-{% else %}
- {% if categories_list.first[0] == null %}
- {% for category in categories_list %}
-
- {{ category | join: "/" }} {{ site.categories[category].size }}
-
- {% endfor %}
- {% else %}
- {% for category in categories_list %}
-
- {{ category[0] | join: "/" }} {{ category[1].size }}
-
- {% endfor %}
- {% endif %}
-{% endif %}
-{% assign categories_list = nil %}
\ No newline at end of file
diff --git a/_includes/JB/comments b/_includes/JB/comments
deleted file mode 100644
index 4e9e600..0000000
--- a/_includes/JB/comments
+++ /dev/null
@@ -1,16 +0,0 @@
-{% if site.JB.comments.provider and page.comments != false %}
-
-{% case site.JB.comments.provider %}
-{% when "disqus" %}
- {% include JB/comments-providers/disqus %}
-{% when "livefyre" %}
- {% include JB/comments-providers/livefyre %}
-{% when "intensedebate" %}
- {% include JB/comments-providers/intensedebate %}
-{% when "facebook" %}
- {% include JB/comments-providers/facebook %}
-{% when "custom" %}
- {% include custom/comments %}
-{% endcase %}
-
-{% endif %}
\ No newline at end of file
diff --git a/_includes/JB/comments-providers/disqus b/_includes/JB/comments-providers/disqus
deleted file mode 100644
index 618a7b7..0000000
--- a/_includes/JB/comments-providers/disqus
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-Please enable JavaScript to view the comments powered by Disqus.
-blog comments powered by
diff --git a/_includes/JB/comments-providers/facebook b/_includes/JB/comments-providers/facebook
deleted file mode 100644
index 6b3e5e0..0000000
--- a/_includes/JB/comments-providers/facebook
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/_includes/JB/comments-providers/intensedebate b/_includes/JB/comments-providers/intensedebate
deleted file mode 100644
index ab0c3c9..0000000
--- a/_includes/JB/comments-providers/intensedebate
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
diff --git a/_includes/JB/comments-providers/livefyre b/_includes/JB/comments-providers/livefyre
deleted file mode 100644
index 704b803..0000000
--- a/_includes/JB/comments-providers/livefyre
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
\ No newline at end of file
diff --git a/_includes/JB/liquid_raw b/_includes/JB/liquid_raw
deleted file mode 100644
index a5c1783..0000000
--- a/_includes/JB/liquid_raw
+++ /dev/null
@@ -1,32 +0,0 @@
-{% comment%}{% endcomment%}
-
-{% if site.JB.liquid_raw.provider == "custom" %}
- {% include custom/liquid_raw %}
-{% else %}
- {{text | replace:"|.", "{" | replace:".|", "}" | replace:">", ">" | replace:"<", "<" }}
-{% endif %}
-{% assign text = nil %}
\ No newline at end of file
diff --git a/_includes/JB/pages_list b/_includes/JB/pages_list
deleted file mode 100644
index 42f827a..0000000
--- a/_includes/JB/pages_list
+++ /dev/null
@@ -1,39 +0,0 @@
-{% comment %}{% endcomment %}
-
-{% if site.JB.pages_list.provider == "custom" %}
- {% include custom/pages_list %}
-{% else %}
- {% for node in pages_list %}
- {% if node.title != null %}
- {% if group == null or group == node.group %}
- {% if page.url == node.url %}
- {{node.title}}
- {% else %}
- {{node.title}}
- {% endif %}
- {% endif %}
- {% endif %}
- {% endfor %}
-{% endif %}
-{% assign pages_list = nil %}
-{% assign group = nil %}
\ No newline at end of file
diff --git a/_includes/JB/posts_collate b/_includes/JB/posts_collate
deleted file mode 100644
index 03c37fa..0000000
--- a/_includes/JB/posts_collate
+++ /dev/null
@@ -1,55 +0,0 @@
-{% comment %}{% endcomment %}
-
-{% if site.JB.posts_collate.provider == "custom" %}
- {% include custom/posts_collate %}
-{% else %}
- {% for post in posts_collate %}
- {% capture this_year %}{{ post.date | date: "%Y" }}{% endcapture %}
- {% capture this_month %}{{ post.date | date: "%B" }}{% endcapture %}
- {% capture next_year %}{{ post.previous.date | date: "%Y" }}{% endcapture %}
- {% capture next_month %}{{ post.previous.date | date: "%B" }}{% endcapture %}
-
- {% if forloop.first %}
- {{this_year}}
- {{this_month}}
-
- {% endif %}
-
- {{ post.date | date: "%B %e, %Y" }} » {{ post.title }}
-
- {% if forloop.last %}
-
- {% else %}
- {% if this_year != next_year %}
-
- {{next_year}}
- {{next_month}}
-
- {% else %}
- {% if this_month != next_month %}
-
- {{next_month}}
-
- {% endif %}
- {% endif %}
- {% endif %}
- {% endfor %}
-{% endif %}
-{% assign posts_collate = nil %}
\ No newline at end of file
diff --git a/_includes/JB/sharing b/_includes/JB/sharing
deleted file mode 100644
index f5b1151..0000000
--- a/_includes/JB/sharing
+++ /dev/null
@@ -1,8 +0,0 @@
-{% if site.safe and site.JB.sharing.provider and page.JB.sharing != false %}
-
-{% case site.JB.sharing.provider %}
-{% when "custom" %}
- {% include custom/sharing %}
-{% endcase %}
-
-{% endif %}
\ No newline at end of file
diff --git a/_includes/JB/tags_list b/_includes/JB/tags_list
deleted file mode 100644
index 8eb62a7..0000000
--- a/_includes/JB/tags_list
+++ /dev/null
@@ -1,33 +0,0 @@
-{% comment %}{% endcomment %}
-
-{% if site.JB.tags_list.provider == "custom" %}
- {% include custom/tags_list %}
-{% else %}
- {% if tags_list.first[0] == null %}
- {% for tag in tags_list %}
- {{ tag }} {{ site.tags[tag].size }}
- {% endfor %}
- {% else %}
- {% for tag in tags_list %}
- {{ tag[0] }} {{ tag[1].size }}
- {% endfor %}
- {% endif %}
-{% endif %}
-{% assign tags_list = nil %}
diff --git a/_includes/comments.html b/_includes/comments.html
deleted file mode 100644
index ed3ea7a..0000000
--- a/_includes/comments.html
+++ /dev/null
@@ -1,36 +0,0 @@
-{% if page.comments %}
-
- {% if site.duoshuo_url %}
-
-
- {% endif %}
-
- {% if site.disqus_url %}
-
-
- {% endif %}
-{% endif %}
\ No newline at end of file
diff --git a/_includes/duplicate.html b/_includes/duplicate.html
deleted file mode 100644
index 9e24301..0000000
--- a/_includes/duplicate.html
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/_includes/footer.html b/_includes/footer.html
deleted file mode 100644
index 5a3510a..0000000
--- a/_includes/footer.html
+++ /dev/null
@@ -1,25 +0,0 @@
-
\ No newline at end of file
diff --git a/_includes/head.html b/_includes/head.html
deleted file mode 100644
index 5dbdcac..0000000
--- a/_includes/head.html
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
- {% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/_includes/header.html b/_includes/header.html
deleted file mode 100644
index 046631e..0000000
--- a/_includes/header.html
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
- {% if page.url == "/index.html" %}
-
- {% else %}
-
-
-
- {% for p in site.pages %}
- {% if p.title %}
- {% if p.url == page.url %}
-
- {% else %}
-
- {% endif %}
- {{ p.title }}
- {% endif %}
- {% endfor %}
-
-
-
-
-
-
diff --git a/_includes/newpost.html b/_includes/newpost.html
deleted file mode 100644
index 96f0bd4..0000000
--- a/_includes/newpost.html
+++ /dev/null
@@ -1,31 +0,0 @@
-
\ No newline at end of file
diff --git a/_layouts/default.html b/_layouts/default.html
deleted file mode 100644
index 7836215..0000000
--- a/_layouts/default.html
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
- {% include head.html %}
-
-
-
-
- {% include header.html %}
-
-
- {{ content }}
-
-
-
-
-
- {% include footer.html %}
-
- {% include newpost.html %}
-
-
-
diff --git a/_layouts/frontpage.html b/_layouts/frontpage.html
deleted file mode 100644
index d968bee..0000000
--- a/_layouts/frontpage.html
+++ /dev/null
@@ -1,75 +0,0 @@
----
-layout: default
----
-
-
-
-
-
-
-
-
- {% assign curDate = site.time | date: '%s' | minus: 120000 | date: '%s' %}
- {% for post in site.posts reversed %}
- {% assign postStartDate = post.date | date: '%s' %}
- {% if postStartDate >= curDate %}
-
-
- {{ post.title }}
-
- {{ post.date | date: "%b %-d, %Y" }}
-
- {% endif %}
- {% endfor %}
-
- {% for category in site.categories %}
- {% if category contains 'events' %}
- {% else %}
-
- {% endif %}
- {% endfor %}
-
-
-
-
-
diff --git a/_layouts/page.html b/_layouts/page.html
deleted file mode 100644
index cbc0878..0000000
--- a/_layouts/page.html
+++ /dev/null
@@ -1,23 +0,0 @@
----
-layout: default
----
-
-
-
- {% include comments.html %}
-
-
-
\ No newline at end of file
diff --git a/_layouts/post.html b/_layouts/post.html
deleted file mode 100644
index 645dcbf..0000000
--- a/_layouts/post.html
+++ /dev/null
@@ -1,30 +0,0 @@
----
-layout: default
----
-
-
-
-
-
-
- {{content}}
-
-
-
- {% include comments.html %}
-
-
-
-
-
\ No newline at end of file
diff --git a/_posts/2016-02-08-the-big-deal-about-python.md b/_posts/2016-02-08-the-big-deal-about-python.md
deleted file mode 100644
index 5e8833a..0000000
--- a/_posts/2016-02-08-the-big-deal-about-python.md
+++ /dev/null
@@ -1,13 +0,0 @@
----
-layout: post
-comments: true
-categories: Beginner
----
-
-What's the big deal about Python? Stop by on **Monday, February 8 from 5-6:30pm** in the D-Lab (**356 Barrows**).
-
-## Info
-Today will be an introduction to Python and its possibilities. After, we'll do a meet and greet to see how others use Python in an academic setting, and set up discussion topics for the next few meetings.
-
-Be sure to check the [setup instructions](http://python.berkeley.edu/learn/#set-up-your-computer) to get started. If you get stuck, we can help!
-
diff --git a/_posts/2016-02-22-jupyter-notebook-and-python-fundamentals.md b/_posts/2016-02-22-jupyter-notebook-and-python-fundamentals.md
deleted file mode 100644
index e7d624a..0000000
--- a/_posts/2016-02-22-jupyter-notebook-and-python-fundamentals.md
+++ /dev/null
@@ -1,13 +0,0 @@
----
-layout: post
-comments: true
-categories: Beginner
----
-
-Come on **Monday, February 22 from 5-6:30pm** in the D-Lab (**356 Barrows**).
-
-## Info
-Today, we will dive into the Jupyter Notebook and explore some of Python's fundamentals. There will be time for discussion and about other workflows that people use Python. No prior experience necessary!
-
-Please do, at minimum, run through the [beginner tutorial](http://try-python.appspot.com) and try to follow the [setup instructions](http://python.berkeley.edu/learn/#set-up-your-computer). If you get stuck, we can help: [email me here](mailto:marwahaha@berkeley.edu) or stop by the D-Lab in 356 Barrows.
-
diff --git a/_posts/2016-02-29-to-the-next-level-functions.md b/_posts/2016-02-29-to-the-next-level-functions.md
deleted file mode 100644
index 6150323..0000000
--- a/_posts/2016-02-29-to-the-next-level-functions.md
+++ /dev/null
@@ -1,15 +0,0 @@
----
-layout: post
-comments: true
-categories: Beginner
----
-
-Come on **Monday, February 29 from 5-6:30pm** in the D-Lab (**356 Barrows**).
-
-## Info
-Today, we will go into certain "to the next level" functions and commands in Python that can make your work much more efficient. We will be building on the fundamentals discussion from February 22. There will also be time to discuss and share your own "to the next level" function.
-
-Please do, at minimum, run through the [beginner tutorial](http://try-python.appspot.com) and try to follow the [setup instructions](http://python.berkeley.edu/learn/#set-up-your-computer). If you get stuck, we can help: [email me here](mailto:marwahaha@berkeley.edu) or stop by the D-Lab in 356 Barrows.
-
-
-Today, we finished the [exercises by Software Carpentry](https://bids.github.io/2016-01-14-berkeley/python/00-python-intro.ipynb) and talked about some useful tools in Jupyter and Python. Kunal's notebook from today is [linked here](../to-the-next-level-2-29-16.ipynb), and a [pdf version is here](../to-the-next-level-2-29-16.pdf).
diff --git a/_posts/2016-03-07-working-with-data-and-plotting.md b/_posts/2016-03-07-working-with-data-and-plotting.md
deleted file mode 100644
index cd8c951..0000000
--- a/_posts/2016-03-07-working-with-data-and-plotting.md
+++ /dev/null
@@ -1,28 +0,0 @@
----
-layout: post
-comments: true
-categories: Visualization
----
-
-Come on **Monday, March 7 from 5-6:30pm** in the D-Lab (**356 Barrows**).
-
-## Info
-Today, we will work with the [pandas](http://pandas.pydata.org/pandas-docs/stable/10min.html) library in Python to read external data, conduct analysis, and do some plotting. This is the Excel equivalent in Python --- and you'll be surprised of its possibilities!
-
-Please do, at minimum, run through the [beginner tutorial](http://try-python.appspot.com) and try to follow the [setup instructions](http://python.berkeley.edu/learn/#set-up-your-computer). Also, we'd love if you can go through [these exercises](https://bids.github.io/2016-01-14-berkeley/python/00-python-intro.html). If you get stuck, we can help: [email me here](mailto:marwahaha@berkeley.edu) or stop by the D-Lab in 356 Barrows.
-
-## Meeting notes
-
-Links from today:
-
-* Here is the link to Raymond Yee's excellent syllabus using IPython notebooks: https://github.com/rdhyee/working-open-data-2014
-
-* Gravitational Waves data via Jupyter Notebook: https://losc.ligo.org/s/events/GW150914/GW150914_tutorial.html
-
-* Python for Social Science online textbook: http://www-rohan.sdsu.edu/~gawron/python_for_ss/course_core/book_draft/index.html
-
-* Our lessons today: http://marwahaha.github.io/2015-07-09-berkeley/intermediate-python/ (Just sections 1 and 2)
-
-* Another lesson worth checking out: http://www.datacarpentry.org/python-ecology/01-starting-with-data
-
-We will have another meeting next week on APIs and Webscraping. And hopefully, we can work on a project together.
diff --git a/_posts/2016-03-14-webscraping-and-websites.md b/_posts/2016-03-14-webscraping-and-websites.md
deleted file mode 100644
index 5e04e89..0000000
--- a/_posts/2016-03-14-webscraping-and-websites.md
+++ /dev/null
@@ -1,13 +0,0 @@
----
-layout: post
-comments: true
-categories: Web
----
-
-Come on **Monday, March 14 from 5-6:30pm** in the D-Lab (**356 Barrows**).
-
-## Info
-Today, we will explore the possibilities of Python on the web. We will begin by looking at HTML, the layout structure of the web, and use Python to scrape through many websites, looking for useful information. There will also be time for discussion and for groups to try making their own web scrapers in Python.
-
-Please do, at minimum, run through the [beginner tutorial](http://try-python.appspot.com) and try to follow the [setup instructions](http://python.berkeley.edu/learn/#set-up-your-computer). Also, we'd love if you can go through [these exercises](https://bids.github.io/2016-01-14-berkeley/python/00-python-intro.html). If you get stuck, we can help: [email me here](mailto:marwahaha@berkeley.edu) or stop by the D-Lab in 356 Barrows.
-
diff --git a/_posts/2016-03-28-python-projects.md b/_posts/2016-03-28-python-projects.md
deleted file mode 100644
index bf5e15e..0000000
--- a/_posts/2016-03-28-python-projects.md
+++ /dev/null
@@ -1,29 +0,0 @@
----
-layout: post
-comments: true
-categories: Collaborating
----
-
-Come on **Monday, March 28 from 5-6:30pm** in the D-Lab (**356 Barrows**).
-
-## Info
-Today, we will discuss the use of Python in a programming project. We will brainstorm some ideas, and also look at open Python projects that other groups are working on. We will also discuss using Git and Github for version control and collaboration. This is the day to attend if you want to build something in a collaborative manner.
-
-Please do, at minimum, run through the [beginner tutorial](http://try-python.appspot.com) and try to follow the [setup instructions](http://python.berkeley.edu/learn/#set-up-your-computer). Also, we'd love if you can go through [these exercises](https://bids.github.io/2016-01-14-berkeley/python/00-python-intro.html). If you get stuck, we can help: [email me here](mailto:marwahaha@berkeley.edu) or stop by the D-Lab in 356 Barrows.
-
-## Notes
-
-We tried exploring this project today, but I think it was a little out-of-reach: http://pfch.nyc/quipu/
-
-Next week, we will focus on APIs (via another tutorial from Rochelle Terman's PS239T). The notes for next week are right here:
-
-
-[https://github.com/rochelleterman/PS239T/blob/master/09_APIs/01_lecture-slides.md](https://github.com/rochelleterman/PS239T/blob/master/09_APIs/01_lecture-slides.md)
-
-[https://github.com/rochelleterman/PS239T/blob/master/09_APIs/03_lecture_code.ipynb](https://github.com/rochelleterman/PS239T/blob/master/09_APIs/03_lecture_code.ipynb)
-
-
-Going forward, we can split into a few groups who want to explore projects that we can write from scratch. (That way, we have a good handle on what's going on). Using an API may help. (Maybe, we can query the NYTimes API for something, as in the tutorial...)
-
-
-Also, if you want more practice in Python, I recommend: http://www.codewars.com/
\ No newline at end of file
diff --git a/_posts/2016-04-04-python-and-apis.md b/_posts/2016-04-04-python-and-apis.md
deleted file mode 100644
index 97aea71..0000000
--- a/_posts/2016-04-04-python-and-apis.md
+++ /dev/null
@@ -1,24 +0,0 @@
----
-layout: post
-comments: true
-categories: Web
----
-
-Come on **Monday, April 4 from 5-6:30pm** in the D-Lab (**356 Barrows**).
-
-## Info
-Today, we will explore the possibilities of Python on the web via APIs. There will also be time for discussion and for exploration via the NYTimes API.
-
-The notes for this lesson are right here:
-
-[https://github.com/rochelleterman/PS239T/blob/master/09_APIs/01_lecture-slides.md](https://github.com/rochelleterman/PS239T/blob/master/09_APIs/01_lecture-slides.md)
-
-[https://github.com/rochelleterman/PS239T/blob/master/09_APIs/03_lecture_code.ipynb](https://github.com/rochelleterman/PS239T/blob/master/09_APIs/03_lecture_code.ipynb)
-
-Please do, at minimum, run through the [beginner tutorial](http://try-python.appspot.com) and try to follow the [setup instructions](http://python.berkeley.edu/learn/#set-up-your-computer). Also, we'd love if you can go through [these exercises](https://bids.github.io/2016-01-14-berkeley/python/00-python-intro.html). If you get stuck, we can help: [email me here](mailto:marwahaha@berkeley.edu) or stop by the D-Lab in 356 Barrows.
-
-
-## Notes
-
-This is the [Jupyter notebook](../03_lecture_code_kunal_040416.ipynb) that I used (kunal). It has the solutions to the challenges, plus a bit more. Check it out! Here's a [PDF version](../03_lecture_code_kunal_040416.pdf), and here's the [output csv file](../test.csv).
-
diff --git a/_posts/2016-04-11-python-and-nytimes.md b/_posts/2016-04-11-python-and-nytimes.md
deleted file mode 100644
index b2f0fe5..0000000
--- a/_posts/2016-04-11-python-and-nytimes.md
+++ /dev/null
@@ -1,15 +0,0 @@
----
-layout: post
-comments: true
-categories: Web
----
-
-Come on **Monday, April 11 from 5-6:30pm** in the D-Lab (**356 Barrows**).
-
-## Info
-Today, we will continue exploring the possibilities of Python on the web via APIs. Please see what we did [last week (especially the lesson notes)](../2016-04-04-python-and-apis). We will try to ask some interesting questions about NYTimes articles, and hopefully produce a plot with some of the visualization tools we checked out earlier in the semester. (Things are starting to come together!)
-
-Please do, at minimum, run through the [beginner tutorial](http://try-python.appspot.com) and try to follow the [setup instructions](http://python.berkeley.edu/learn/#set-up-your-computer). Also, we'd love if you can go through [these exercises](https://bids.github.io/2016-01-14-berkeley/python/00-python-intro.html). If you get stuck, we can help: [email me here](mailto:marwahaha@berkeley.edu) or stop by the D-Lab in 356 Barrows.
-
-
-
diff --git a/_posts/2016-04-18-python-and-nytimes.md b/_posts/2016-04-18-python-and-nytimes.md
deleted file mode 100644
index 0f7fbd7..0000000
--- a/_posts/2016-04-18-python-and-nytimes.md
+++ /dev/null
@@ -1,15 +0,0 @@
----
-layout: post
-comments: true
-categories: Web
----
-
-Come on **Monday, April 18 from 5-6:30pm** in the D-Lab (**356 Barrows**).
-
-## Info
-Today, we will continue exploring the possibilities of Python on the web via APIs. This is a follow-up of last week's project with the NYTimes. Please see what we did [two weeks ago (especially the lesson notes)](../2016-04-04-python-and-apis). We will try to ask some interesting questions about NYTimes articles, and hopefully produce a plot with some of the visualization tools we checked out earlier in the semester. (Things are starting to come together!)
-
-Please do, at minimum, run through the [beginner tutorial](http://try-python.appspot.com) and try to follow the [setup instructions](http://python.berkeley.edu/learn/#set-up-your-computer). Also, we'd love if you can go through [these exercises](https://bids.github.io/2016-01-14-berkeley/python/00-python-intro.html). If you get stuck, we can help: [email me here](mailto:marwahaha@berkeley.edu) or stop by the D-Lab in 356 Barrows.
-
-
-
diff --git a/_posts/2016-04-25-python-and-nytimes.md b/_posts/2016-04-25-python-and-nytimes.md
deleted file mode 100644
index db669f9..0000000
--- a/_posts/2016-04-25-python-and-nytimes.md
+++ /dev/null
@@ -1,14 +0,0 @@
----
-layout: post
-comments: true
-categories: Web
----
-
-Come on **Monday, April 25 from 5-6:30pm** in the D-Lab (**356 Barrows**).
-
-## Info
-Today, we will finish the project with the NYTimes API, culminating in a plot of popularity of different words over the past few years.
-
-Please see what we did [a few weeks ago (especially the lesson notes)](../2016-04-04-python-and-apis). We will try to ask some interesting questions about NYTimes articles, and hopefully produce a plot with some of the visualization tools we checked out earlier in the semester. (Things are starting to come together!)
-
-Please do, at minimum, run through the [beginner tutorial](http://try-python.appspot.com) and try to follow the [setup instructions](http://python.berkeley.edu/learn/#set-up-your-computer). Also, we'd love if you can go through [these exercises](https://bids.github.io/2016-01-14-berkeley/python/00-python-intro.html). If you get stuck, we can help: [email me here](mailto:marwahaha@berkeley.edu) or stop by the D-Lab in 356 Barrows.
diff --git a/_posts/2016-09-12-intro-to-learn-python.md b/_posts/2016-09-12-intro-to-learn-python.md
deleted file mode 100644
index 59d63d7..0000000
--- a/_posts/2016-09-12-intro-to-learn-python.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-layout: post
-comments: true
-categories: Beginner
----
-
-## Overview
-Today, we will introduce the working group and go over expectations for the semester. Then we will review some basic command line prompts and introduce Python and its possibilities.
-
-You can find the slides [here](https://docs.google.com/presentation/d/1cMe-rSJRHpUDebl_aP78zQUJPL5Xzs0TS0k31gOGWt4/edit?usp=sharing).
-
-Be sure to check the [setup instructions](http://python.berkeley.edu/learn/#set-up-your-computer) to get started. If you get stuck, we can help!
\ No newline at end of file
diff --git a/_posts/2016-09-19-python-basics.md b/_posts/2016-09-19-python-basics.md
deleted file mode 100644
index a43e5b8..0000000
--- a/_posts/2016-09-19-python-basics.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-layout: post
-comments: true
-categories: Beginner
----
-
-## Overview
-Today, we will go over some of the basics of the Python language. We will learning about Python syntax, data types, and how to write function definitions.
-
-You can find the slides [here](https://docs.google.com/presentation/d/1miRUsJYo9i2FlbPkyCwUR5pNaARXo8UoGpHEvCNVQ80/edit?usp=sharing), and the Jupyter Notebook download [here](https://drive.google.com/file/d/0B3D_PdrFcBfRZnlmNUFiY0lKOXM/view?usp=sharing).
-
-Be sure to check the [setup instructions](http://python.berkeley.edu/learn/#set-up-your-computer) to get started. If you get stuck, we can help!
diff --git a/_posts/2016-09-26-more-python-basics.md b/_posts/2016-09-26-more-python-basics.md
deleted file mode 100644
index c1be617..0000000
--- a/_posts/2016-09-26-more-python-basics.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-layout: post
-comments: true
-categories: Beginner
----
-
-## Overview
-Today, we will go over more basics of the Python language, with more emphasis on function definitions and other data types.
-
-You can find the slides [here](https://docs.google.com/presentation/d/1undT79Ks0NBN5HW4PJsjYg3RI5yBCxlNp37XPzt1y6o/edit?usp=sharing), and the Jupyter Notebook download [here](https://drive.google.com/file/d/0B3D_PdrFcBfRcGpybHhVTkRMZFE/view?usp=sharing).
-
-Will this be your first week in the working group? Be sure to check the [setup instructions](http://python.berkeley.edu/learn/#set-up-your-computer) to get started. If you get stuck, we can help!
diff --git a/_posts/2016-10-03-python-practice.md b/_posts/2016-10-03-python-practice.md
deleted file mode 100644
index ce77620..0000000
--- a/_posts/2016-10-03-python-practice.md
+++ /dev/null
@@ -1,14 +0,0 @@
----
-layout: post
-comments: true
-categories: Beginner
----
-
-## Overview
-Today, we will be practicing the Python basics learned in previous weeks. We will also cover a few more advanced topics.
-
-You can find the slides [here](https://docs.google.com/presentation/d/1TL7wj3KicMrGO4Eni2V6IJVAd4OPbWlQvl_gRMhY3Zk/edit?usp=sharing), and the Jupyter Notebook download [here](https://drive.google.com/file/d/0B3D_PdrFcBfRNVFyeTNOMlBKRWs/view?usp=sharing). Solutions for the in-class challenges are now included in the notebook!
-
-[Here](https://drive.google.com/file/d/0B3D_PdrFcBfRaUVVSk83a19jUjA/view?usp=sharing) are some practice problems to work on before class (totally optional!). Download the notebook of solutions [here](https://drive.google.com/file/d/0B3D_PdrFcBfRMktPSkVHamVQN0U/view?usp=sharing).
-
-Will this be your first week in the working group? Be sure to check the [setup instructions](http://python.berkeley.edu/learn/#set-up-your-computer) to get started. If you get stuck, we can help!
diff --git a/_posts/2016-10-17-intro-to-apis.md b/_posts/2016-10-17-intro-to-apis.md
deleted file mode 100644
index 0297755..0000000
--- a/_posts/2016-10-17-intro-to-apis.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-layout: post
-comments: true
-categories: Web
----
-
-## Overview
-Today, we will begin our project for the semester! We will be learning about APIs and exploring the various CDC databases.
-
-You can find the slides [here](https://docs.google.com/presentation/d/1abAVezGYUYj4MZ_TubGkOKQJ9d6wmiPx9GUkvmaqnuU/edit?usp=sharing), and the Jupyter Notebook download [here](https://drive.google.com/file/d/0B3D_PdrFcBfRd3JVWC1nS1FfdDQ/view?usp=sharing).
-
-Will this be your first week in the working group? Be sure to check the [setup instructions](http://python.berkeley.edu/learn/#set-up-your-computer) to get started. If you get stuck, we can help!
diff --git a/_posts/2016-10-31-twitter-api-project.md b/_posts/2016-10-31-twitter-api-project.md
deleted file mode 100644
index 845c387..0000000
--- a/_posts/2016-10-31-twitter-api-project.md
+++ /dev/null
@@ -1,21 +0,0 @@
----
-layout: post
-comments: true
-categories: Web
----
-
-## Overview
-We will begin our semester project by using the Twitter REST API to gather data about this year's election.
-
-You can find the slides [here](https://docs.google.com/presentation/d/1Dv7La-7HM80TR3s4TuA5EkixubruNEXACX4h0q2-Qn0/edit?usp=sharing), and the Jupyter Notebook download [here](https://drive.google.com/file/d/0B3D_PdrFcBfRaG5zcXQyYW1QR1k/view?usp=sharing).
-
-### Resources from class
-
-* [Brainstorming doc](https://docs.google.com/document/d/1skNQ2tm3gtNpYfDUYlvgABDAPtYxRWsrudJwTKX09Fg/edit?usp=sharing)
-* [538 - Political statistics](http://fivethirtyeight.com/)
-* [How to apply for Twitter API key](https://apps.twitter.com/)
-* [Twitter advanced search engine](https://twitter.com/search-advanced?lang=en)
-* [Tweepy documentation](http://tweepy.readthedocs.io/en/v3.5.0/getting_started.html#api)
-* [Twitter API documentation](https://dev.twitter.com/rest/reference)
-
-Will this be your first week in the working group? Be sure to check the [setup instructions](http://python.berkeley.edu/learn/#set-up-your-computer) to get started. If you get stuck, we can help!
diff --git a/_posts/2016-11-07-project-part-2.md b/_posts/2016-11-07-project-part-2.md
deleted file mode 100644
index 2f7993b..0000000
--- a/_posts/2016-11-07-project-part-2.md
+++ /dev/null
@@ -1,21 +0,0 @@
----
-layout: post
-comments: true
-categories: Web
----
-
-## Overview
-We will continue our semester project gathering data about this year's election via the Twitter API.
-
-You can find the slides [here](https://docs.google.com/presentation/d/1lUvP5eNw_muDYc8CKZWh0K8CCQCKAXpQdd7yC_tFIPw/edit?usp=sharing), and the Jupyter Notebook download [here](https://drive.google.com/open?id=0B3D_PdrFcBfRQjBfUGZaMFF2Mlk).
-
-### Resources from class
-
-* [Brainstorming doc](https://docs.google.com/document/d/1skNQ2tm3gtNpYfDUYlvgABDAPtYxRWsrudJwTKX09Fg/edit?usp=sharing)
-* [538 - Political statistics](http://fivethirtyeight.com/)
-* [How to apply for Twitter API key](https://apps.twitter.com/)
-* [Twitter advanced search engine](https://twitter.com/search-advanced?lang=en)
-* [Tweepy documentation](http://tweepy.readthedocs.io/en/v3.5.0/getting_started.html#api)
-* [Twitter API documentation](https://dev.twitter.com/rest/reference)
-
-Will this be your first week in the working group? Be sure to check the [setup instructions](http://python.berkeley.edu/learn/#set-up-your-computer) to get started. If you get stuck, we can help!
diff --git a/_posts/2016-11-14-project-part-3.md b/_posts/2016-11-14-project-part-3.md
deleted file mode 100644
index 71b7340..0000000
--- a/_posts/2016-11-14-project-part-3.md
+++ /dev/null
@@ -1,21 +0,0 @@
----
-layout: post
-comments: true
-categories: Web
----
-
-## Overview
-We will continue our semester project gathering data about this year's election via the Twitter API.
-
-You can find the slides [here](https://docs.google.com/presentation/d/1IybgN-K4aevsvtbD7ahT4NIUn4q1PcYGIwK_8RBsbO0/edit?usp=sharing), and the Jupyter Notebook download [here](https://drive.google.com/open?id=0B3D_PdrFcBfRdXU4QUJWUWJKS0U).
-
-### Resources from class
-
-* [Brainstorming doc](https://docs.google.com/document/d/1skNQ2tm3gtNpYfDUYlvgABDAPtYxRWsrudJwTKX09Fg/edit?usp=sharing)
-* [538 - Political statistics](http://fivethirtyeight.com/)
-* [How to apply for Twitter API key](https://apps.twitter.com/)
-* [Twitter advanced search engine](https://twitter.com/search-advanced?lang=en)
-* [Tweepy documentation](http://tweepy.readthedocs.io/en/v3.5.0/getting_started.html#api)
-* [Twitter API documentation](https://dev.twitter.com/rest/reference)
-
-Will this be your first week in the working group? Be sure to check the [setup instructions](http://python.berkeley.edu/learn/#set-up-your-computer) to get started. If you get stuck, we can help!
diff --git a/_posts/2016-11-21-file-writing.md b/_posts/2016-11-21-file-writing.md
deleted file mode 100644
index 295c6c1..0000000
--- a/_posts/2016-11-21-file-writing.md
+++ /dev/null
@@ -1,21 +0,0 @@
----
-layout: post
-comments: true
-categories: Web
----
-
-## Overview
-Today we will gather data and practice writing it to a file.
-
-You can find the slides [here](https://docs.google.com/presentation/d/1Wca2dMg4ClVtV_hg8z6nOMxmewIoFL_COi8DcY56Xn0/edit?usp=sharing), and the materials download [here](https://drive.google.com/drive/folders/0B3D_PdrFcBfRNHF4THpId29EbTQ?usp=sharing).
-
-### Resources from class
-
-* [Brainstorming doc](https://docs.google.com/document/d/1skNQ2tm3gtNpYfDUYlvgABDAPtYxRWsrudJwTKX09Fg/edit?usp=sharing)
-* [538 - Political statistics](http://fivethirtyeight.com/)
-* [How to apply for Twitter API key](https://apps.twitter.com/)
-* [Twitter advanced search engine](https://twitter.com/search-advanced?lang=en)
-* [Tweepy documentation](http://tweepy.readthedocs.io/en/v3.5.0/getting_started.html#api)
-* [Twitter API documentation](https://dev.twitter.com/rest/reference)
-
-Will this be your first week in the working group? Be sure to check the [setup instructions](http://python.berkeley.edu/learn/#set-up-your-computer) to get started. If you get stuck, we can help!
diff --git a/_posts/2016-11-28-final-fall-class.md b/_posts/2016-11-28-final-fall-class.md
deleted file mode 100644
index 8de6df7..0000000
--- a/_posts/2016-11-28-final-fall-class.md
+++ /dev/null
@@ -1,21 +0,0 @@
----
-layout: post
-comments: true
-categories: Web
----
-
-## Overview
-Today we will practice writing to an independent Python file, and bring together several ideas from the semester into one notebook.
-
-You can find the slides [here](https://docs.google.com/presentation/d/1AzYRQo1uVeAF-XYPR9t5gkGGu7KWQlme8Vs96kOTYdI/edit?usp=sharing), and the materials download [here](https://drive.google.com/drive/folders/0B3D_PdrFcBfRUE9JOFdUR3N6aVE?usp=sharing).
-
-### Resources from class
-
-* [Brainstorming doc](https://docs.google.com/document/d/1skNQ2tm3gtNpYfDUYlvgABDAPtYxRWsrudJwTKX09Fg/edit?usp=sharing)
-* [538 - Political statistics](http://fivethirtyeight.com/)
-* [How to apply for Twitter API key](https://apps.twitter.com/)
-* [Twitter advanced search engine](https://twitter.com/search-advanced?lang=en)
-* [Tweepy documentation](http://tweepy.readthedocs.io/en/v3.5.0/getting_started.html#api)
-* [Twitter API documentation](https://dev.twitter.com/rest/reference)
-
-Will this be your first week in the working group? Be sure to check the [setup instructions](http://python.berkeley.edu/learn/#set-up-your-computer) to get started. If you get stuck, we can help!
diff --git a/_posts/2017-01-30-first-spring-meeting.md b/_posts/2017-01-30-first-spring-meeting.md
deleted file mode 100644
index 42cd1a5..0000000
--- a/_posts/2017-01-30-first-spring-meeting.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-layout: post
-comments: true
-categories: Beginner
----
-### Info
-What's the big deal about Python? Stop by on **Monday, January 30 from 4-5:30pm** in the D-Lab (**356 Barrows**). The first meeting will kick off the working group, with a brief review of Python and an introduction to [Numpy](http://www.numpy.org/). After, we'll do a meet and greet to see how others use Python in an academic setting, and set up discussion topics for the next few meetings.
-
-### Materials
-The Jupyter notebook can be downloaded [here](https://drive.google.com/open?id=0B3D_PdrFcBfRM2EtcHBOXzA4UVE), and the slides can be found [here](https://drive.google.com/open?id=1cMe-rSJRHpUDebl_aP78zQUJPL5Xzs0TS0k31gOGWt4).
-
-Be sure to check the [setup instructions](http://python.berkeley.edu/learn/#set-up-your-computer) to get started. If you get stuck, we can help!
diff --git a/_posts/2017-02-13-numpy.md b/_posts/2017-02-13-numpy.md
deleted file mode 100644
index 3cc5b3f..0000000
--- a/_posts/2017-02-13-numpy.md
+++ /dev/null
@@ -1,10 +0,0 @@
----
-layout: post
-comments: true
-categories: Beginner
----
-### Info
-Today we will be learning how to use the [NumPy](http://www.numpy.org/) library.
-
-### Materials
-The notebook can be downloaded [here](https://drive.google.com/drive/folders/0B3D_PdrFcBfRZ0ZlOGdQczlRREE?usp=sharing), but be sure to download it right before class to ensure you have the most updated version! We are often working on these up until class begins.
diff --git a/_posts/2017-02-27-filewriting.md b/_posts/2017-02-27-filewriting.md
deleted file mode 100644
index d4e7349..0000000
--- a/_posts/2017-02-27-filewriting.md
+++ /dev/null
@@ -1,10 +0,0 @@
----
-layout: post
-comments: true
-categories: Beginner
----
-### Info
-Today we will be learning how to write to files in Python, and use the [CSV](https://docs.python.org/3/library/csv.html) library.
-
-### Materials
-The notebook can be downloaded [here](https://drive.google.com/drive/folders/0B3D_PdrFcBfRbXY3TTJjQVYtQ1U?usp=sharing) and slides can be found [here](https://docs.google.com/presentation/d/1Wca2dMg4ClVtV_hg8z6nOMxmewIoFL_COi8DcY56Xn0/edit?usp=sharing), but be sure to download it right before class to ensure you have the most updated version! We are often working on these up until class begins.
diff --git a/_posts/2017-03-20-yelp-api.md b/_posts/2017-03-20-yelp-api.md
deleted file mode 100644
index 02b61c4..0000000
--- a/_posts/2017-03-20-yelp-api.md
+++ /dev/null
@@ -1,10 +0,0 @@
----
-layout: post
-comments: true
-categories: Beginner
----
-### Info
-Today we will be learning how to make calls to the [Yelp API](https://www.yelp.com/developers/documentation/v2/overview).
-
-### Materials
-The notebook can be downloaded [here](https://drive.google.com/drive/folders/0B3D_PdrFcBfRMGtNajV6eXN3TzA?usp=sharing), but be sure to download it right before class to ensure you have the most updated version! We are often working on these up until class begins.
diff --git a/_posts/2017-04-24-final-meeting.md b/_posts/2017-04-24-final-meeting.md
deleted file mode 100644
index 0eec400..0000000
--- a/_posts/2017-04-24-final-meeting.md
+++ /dev/null
@@ -1,10 +0,0 @@
----
-layout: post
-comments: true
-categories: Beginner
----
-### Info
-Today we will be learning about the Python library [matplotlib](https://matplotlib.org/).
-
-### Materials
-The notebook for this week can be found [here](https://drive.google.com/file/d/0B3D_PdrFcBfRdXU4QUJWUWJKS0U/view).
diff --git a/_sass/_base.scss b/_sass/_base.scss
deleted file mode 100644
index e5fd0fd..0000000
--- a/_sass/_base.scss
+++ /dev/null
@@ -1,204 +0,0 @@
-/**
- * Reset some basic elements
- */
-body, h1, h2, h3, h4, h5, h6,
-p, blockquote, pre, hr,
-dl, dd, ol, ul, figure {
- margin: 0;
- padding: 0;
-}
-
-
-
-/**
- * Basic styling
- */
-body {
- font-family: $base-font-family;
- font-size: $base-font-size;
- line-height: $base-line-height;
- font-weight: 300;
- color: $text-color;
- background-color: $background-color;
- -webkit-text-size-adjust: 100%;
-}
-
-
-
-/**
- * Set `margin-bottom` to maintain vertical rhythm
- */
-h1, h2, h3, h4, h5, h6,
-p, blockquote, pre,
-ul, ol, dl, figure,
-%vertical-rhythm {
- margin-bottom: $spacing-unit / 2;
-}
-
-
-
-/**
- * Images
- */
-img {
- max-width: 100%;
- vertical-align: middle;
-}
-
-
-
-/**
- * Figures
- */
-figure > img {
- display: block;
-}
-
-figcaption {
- font-size: $small-font-size;
-}
-
-
-
-/**
- * Lists
- */
-ul, ol {
- margin-left: $spacing-unit;
-}
-
-li {
- > ul,
- > ol {
- margin-bottom: 0;
- }
-}
-
-
-
-/**
- * Headings
- */
-h1, h2, h3, h4, h5, h6 {
- font-weight: 300;
-}
-
-
-
-/**
- * Links
- */
-a {
- color: $brand-color;
- text-decoration: none;
-
- &:visited {
- color: darken($brand-color, 15%);
- }
-
- &:hover {
- color: $text-color;
- text-decoration: underline;
- }
-}
-
-
-
-/**
- * Blockquotes
- */
-blockquote {
- color: $grey-color;
- border-left: 4px solid $grey-color-light;
- padding-left: $spacing-unit / 2;
- font-size: 18px;
- letter-spacing: -1px;
- font-style: italic;
-
- > :last-child {
- margin-bottom: 0;
- }
-}
-
-
-
-/**
- * Code formatting
- */
-pre,
-code {
- font-size: 15px;
- border: 1px solid $grey-color-light;
- border-radius: 3px;
- background-color: #eef;
-}
-
-code {
- padding: 1px 5px;
-}
-
-pre {
- padding: 8px 12px;
- overflow-x: scroll;
-
- > code {
- border: 0;
- padding-right: 0;
- padding-left: 0;
- }
-}
-
-
-
-/**
- * Wrapper
- */
-.wrapper {
- max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit} * 2));
- max-width: calc(#{$content-width} - (#{$spacing-unit} * 2));
- margin-right: auto;
- margin-left: auto;
- padding-right: $spacing-unit;
- padding-left: $spacing-unit;
- @extend %clearfix;
-
- @include media-query($on-laptop) {
- max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit}));
- max-width: calc(#{$content-width} - (#{$spacing-unit}));
- padding-right: $spacing-unit / 2;
- padding-left: $spacing-unit / 2;
- }
-}
-
-
-
-/**
- * Clearfix
- */
-%clearfix {
-
- &:after {
- content: "";
- display: table;
- clear: both;
- }
-}
-
-
-
-/**
- * Icons
- */
-.icon {
-
- > svg {
- display: inline-block;
- width: 16px;
- height: 16px;
- vertical-align: middle;
-
- path {
- fill: $grey-color;
- }
- }
-}
diff --git a/_sass/_layout.scss b/_sass/_layout.scss
deleted file mode 100644
index 65ada51..0000000
--- a/_sass/_layout.scss
+++ /dev/null
@@ -1,241 +0,0 @@
-
-*{
- font-family: Consolas,'Microsoft YaHei', sans-serif;
-}
-
-/**
- * Site header
- */
-/*.site-header {
- border-top: 5px solid $grey-color-dark;
- border-bottom: 1px solid $grey-color-light;
- min-height: 56px;
-
- // Positioning context for the mobile navigation icon
- position: relative;
-}*/
-
-.site-title {
- font-size: 26px;
- line-height: 56px;
- letter-spacing: -1px;
- margin-bottom: 0;
- float: left;
-
- &,
- &:visited {
- color: $grey-color-dark;
- }
-}
-
-.site-nav {
- float: right;
- line-height: 56px;
-
- .menu-icon {
- display: none;
- }
-
- .page-link {
- color: $text-color;
- line-height: $base-line-height;
-
- // Gaps between nav items, but not on the first one
- &:not(:first-child) {
- margin-left: 20px;
- }
- }
-
- @include media-query($on-palm) {
- position: absolute;
- top: 9px;
- right: 30px;
- background-color: $background-color;
- border: 1px solid $grey-color-light;
- border-radius: 5px;
- text-align: right;
-
- .menu-icon {
- display: block;
- float: right;
- width: 36px;
- height: 26px;
- line-height: 0;
- padding-top: 10px;
- text-align: center;
-
- > svg {
- width: 18px;
- height: 15px;
-
- path {
- fill: $grey-color-dark;
- }
- }
- }
-
- .trigger {
- clear: both;
- display: none;
- }
-
- &:hover .trigger {
- display: block;
- padding-bottom: 5px;
- }
-
- .page-link {
- display: block;
- padding: 5px 10px;
- }
- }
-}
-
-
-
-/**
- * Site footer
- */
-.site-footer {
- border-top: 1px solid $grey-color-light;
- padding: $spacing-unit 0;
-}
-
-.footer-heading {
- font-size: 18px;
- margin-bottom: $spacing-unit / 2;
-}
-
-.contact-list,
-.social-media-list {
- list-style: none;
- margin-left: 0;
-}
-
-.footer-col-wrapper {
- font-size: 15px;
- color: $grey-color;
- margin-left: -$spacing-unit / 2;
- @extend %clearfix;
-}
-
-.footer-col {
- float: left;
- margin-bottom: $spacing-unit / 2;
- padding-left: $spacing-unit / 2;
-}
-
-.footer-col-1 {
- width: -webkit-calc(35% - (#{$spacing-unit} / 2));
- width: calc(35% - (#{$spacing-unit} / 2));
-}
-
-.footer-col-2 {
- width: -webkit-calc(20% - (#{$spacing-unit} / 2));
- width: calc(20% - (#{$spacing-unit} / 2));
-}
-
-.footer-col-3 {
- width: -webkit-calc(45% - (#{$spacing-unit} / 2));
- width: calc(45% - (#{$spacing-unit} / 2));
-}
-
-@include media-query($on-laptop) {
- .footer-col-1,
- .footer-col-2 {
- width: -webkit-calc(50% - (#{$spacing-unit} / 2));
- width: calc(50% - (#{$spacing-unit} / 2));
- }
-
- .footer-col-3 {
- width: -webkit-calc(100% - (#{$spacing-unit} / 2));
- width: calc(100% - (#{$spacing-unit} / 2));
- }
-}
-
-@include media-query($on-palm) {
- .footer-col {
- float: none;
- width: -webkit-calc(100% - (#{$spacing-unit} / 2));
- width: calc(100% - (#{$spacing-unit} / 2));
- }
-}
-
-
-
-/**
- * Page content
- */
-.page-content {
- padding: $spacing-unit 0;
-}
-
-.page-heading {
- font-size: 20px;
-}
-
-.post-list {
- margin-left: 0;
- list-style: none;
-
- > li {
- margin-bottom: $spacing-unit;
- }
-}
-
-.post-meta {
- font-size: $small-font-size;
- color: $grey-color;
-}
-
-.post-link {
- display: block;
- font-size: 24px;
-}
-
-
-
-/**
- * Posts
- */
-.post-header {
- margin-bottom: $spacing-unit;
-}
-
-.post-title {
- font-size: 42px;
- letter-spacing: -1px;
- line-height: 1;
-
- @include media-query($on-laptop) {
- font-size: 36px;
- }
-}
-
-.post-content {
- margin-bottom: $spacing-unit;
-
- h2 {
- font-size: 32px;
-
- @include media-query($on-laptop) {
- font-size: 28px;
- }
- }
-
- h3 {
- font-size: 26px;
-
- @include media-query($on-laptop) {
- font-size: 22px;
- }
- }
-
- h4 {
- font-size: 20px;
-
- @include media-query($on-laptop) {
- font-size: 18px;
- }
- }
-}
diff --git a/editor_setup/emacs/emacs-presentation.ipynb b/editor_setup/emacs/emacs-presentation.ipynb
new file mode 100644
index 0000000..86b95c2
--- /dev/null
+++ b/editor_setup/emacs/emacs-presentation.ipynb
@@ -0,0 +1,242 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# p4science emacs presentation\n",
+ "\n",
+ "Jess Hamrick \n",
+ "jhamrick@berkeley.edu"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## Why Emacs?\n",
+ "\n",
+ "* Flexible and highly customizable\n",
+ "* Lots of resources\n",
+ "* If you want a plugin, it probably already exists\n",
+ "* You can use it for pretty much everything\n",
+ "* A lot of the keyboard shortcuts work in other programs, like `C-a`\n",
+ " and `C-e`"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## Why not Emacs?\n",
+ "\n",
+ "* High learning curve\n",
+ "* Plugins can be buggy or not well-maintained\n",
+ "* Package management for plugins is a pain (but! it is getting\n",
+ " better!)\n",
+ "* If you want to do your own customization, you have to learn elisp"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## What do I use Emacs for?\n",
+ "\n",
+ "* Python (`python-mode`)\n",
+ "* IPython (shell + notebook!) (`emacs-ipython-mode`)\n",
+ "* LaTeX (`auctex`)\n",
+ "* Git (`magit`)\n",
+ "* Markdown (`markdown-mode`)\n",
+ "* Terminal... though not always (`ansi-term`)\n",
+ "* Basically any other text editing or coding that I need to do"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "### Emacs IPython Notebook"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "1+1"
+ ],
+ "language": "python",
+ "outputs": [
+ {
+ "output_type": "pyout",
+ "prompt_number": 1,
+ "text": [
+ "2"
+ ]
+ }
+ ],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Look, you can have a scratch buffer! -->"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "And, matplotlib images are displayed inline, just like in the web\n",
+ "notebook:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "%matplotlib inline\n",
+ "import matplotlib.pyplot as plt\n",
+ "plt.plot([1,2,3,4])\n",
+ "plt.ylabel('some numbers')\n",
+ "plt.show()"
+ ],
+ "language": "python",
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "png": "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\nY6NUaR8AAAAASUVORK5CYII=\n",
+ "text": [
+ ""
+ ]
+ }
+ ],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "But, not all parts of the notebook work. EIN hasn't been updated in a\n",
+ "few months, and so it's a bit behind the cutting edge of IPython.\n",
+ "\n",
+ "* LaTeX rendering of equations doesn't work yet: $x=4x-2$\n",
+ "* Cell metadata isn't exposed\n",
+ "* Some cell magics don't work properly (e.g. `%load`, anything with\n",
+ " `raw_input`)\n",
+ "* Indenting is sometimes weird\n",
+ "* Text wrapping (e.g. in comments/docstrings) is also sometimes weird\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "### Python shell demo"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "### Jedi\n",
+ "\n",
+ "Jedi.el is a Python completion library for emacs. I have it installed\n",
+ "(it's requried by EIN), but it's not currently working in my setup, so\n",
+ "I unfortunately can't demo it."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "### Style/syntax checking\n",
+ "\n",
+ "I have a script which runs pyflakes and pep8, and highlights lines\n",
+ "that have syntax or style errors. It doesn't currently work inside\n",
+ "EIN, though."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "### LaTeX demo\n",
+ "\n",
+ "`M-x tex-pdf-mode`\n",
+ "\n",
+ "(Wow, look, emacs can even open PDFs!)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "### Magit demo\n",
+ "\n",
+ "`M-x magit-status`"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "### Terminal demo\n",
+ "\n",
+ "`M-x ansi-term`"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## My recommendations\n",
+ "\n",
+ "I <3 Emacs. But...\n",
+ "\n",
+ "If you are new to programming, Emacs is probably not your best bet\n",
+ "because of the learning curve, and if you're also learning\n",
+ "programming, it may be a bit overwhelming.\n",
+ "\n",
+ "Don't start off trying to use too many plugins all at once. Get used\n",
+ "to the shortcuts and stuff first.\n",
+ "\n",
+ "Rebind your caps lock to another control key.\n",
+ "\n",
+ "Document your .emacs configuration well, and keep it under version\n",
+ "control.\n",
+ "\n",
+ "You will never be able to use conventional text editors (or any\n",
+ "editor) again. I hate when I have to type stuff in the browser because\n",
+ "I work about 2-3 times more slowly than when I'm in Emacs."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## Resources\n",
+ "\n",
+ "* A [beginner's\n",
+ " tutorial](http://www.jesshamrick.com/2012/09/10/absolute-beginners-guide-to-emacs)\n",
+ " that I wrote.\n",
+ "\n",
+ "* [My emacs configuration](https://github.com/jhamrick/emacs).\n",
+ "\n",
+ "* A [rather outdated\n",
+ " guide](http://www.jesshamrick.com/2012/09/18/emacs-as-a-python-ide)\n",
+ " to using Python in Emacs, which I also wrote.\n",
+ "\n",
+ "* A [somewhat less outdated\n",
+ " guide](http://caisah.info/emacs-for-python/) to using Python in\n",
+ " Emacs\n",
+ "\n",
+ "* [EmacsWiki](http://www.emacswiki.org/emacs/) is a great site to\n",
+ " search if you're looking for how to do something, though it can\n",
+ " sometimes be a bit out of date. Especially check out the\n",
+ " [Python+Emacs\n",
+ " page](http://www.emacswiki.org/emacs/PythonProgrammingInEmacs).\n",
+ "\n",
+ "* The [Emacs subreddit](http://www.reddit.com/r/emacs) also has some\n",
+ " useful links.\n",
+ "\n",
+ "* A blog post on [Jedi completion for\n",
+ " Emacs](http://www.masteringemacs.org/articles/2013/01/10/jedi-completion-library-python/)."
+ ]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/editor_setup/emacs/latex-demo.tex b/editor_setup/emacs/latex-demo.tex
new file mode 100644
index 0000000..b7548c9
--- /dev/null
+++ b/editor_setup/emacs/latex-demo.tex
@@ -0,0 +1,17 @@
+\documentclass[12pt]{article}
+
+\usepackage{fancyhdr}
+\usepackage[in,myheadings]{fullpage}
+\usepackage{amsmath, amsthm, amssymb}
+
+\pagestyle{plain}
+
+\headheight 42pt
+
+\begin{document}
+
+\section{The first section}
+
+This is a \LaTeX{} document!
+
+\end{document}
diff --git a/editor_setup/emacs/python-demo.py b/editor_setup/emacs/python-demo.py
new file mode 100644
index 0000000..e48e766
--- /dev/null
+++ b/editor_setup/emacs/python-demo.py
@@ -0,0 +1,6 @@
+import numpy as np
+
+print "Generating some data..."
+arr = np.random.rand(100, 100)
+
+print "The mean of the data is:", arr.mean()
diff --git a/editor_setup/emacs/style-demo.py b/editor_setup/emacs/style-demo.py
new file mode 100644
index 0000000..0af5a30
--- /dev/null
+++ b/editor_setup/emacs/style-demo.py
@@ -0,0 +1,13 @@
+# the following line is highlighted because it's an unused import
+import numpy as np
+
+# this next line is highlighted because `n` doesn't exist (fixing this
+# line would actually also fix the previous line)
+arr = n.ones(10)
+
+# this line is highlighted because it's really long, and long lines in python are bad if you're working in a fixed-width terminal
+
+
+def foo():
+ # the next line is highlighted because it uses tabs, eww
+ pass
diff --git a/editor_setup/gedit/Vagrantfile b/editor_setup/gedit/Vagrantfile
new file mode 100644
index 0000000..a93c76e
--- /dev/null
+++ b/editor_setup/gedit/Vagrantfile
@@ -0,0 +1,55 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
+VAGRANTFILE_API_VERSION = "2"
+
+Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
+ # All Vagrant configuration is done here. The most common configuration
+ # options are documented and commented below. For a complete reference,
+ # please see the online documentation at vagrantup.com.
+
+ # Every Vagrant virtual environment requires a box to build off of.
+ config.vm.box = "precise32"
+
+ # The simplest way to provision a vagrant vm
+ config.vm.provision :shell, :path => "bootstrap.sh"
+
+ # The url from where the 'config.vm.box' box will be fetched if it
+ # doesn't already exist on the user's system.
+ config.vm.box_url = "http://files.vagrantup.com/precise32.box"
+
+ # If true, then any SSH connections made will enable agent forwarding.
+ # Default value: false
+ # config.ssh.forward_agent = true
+ config.ssh.forward_x11 = true
+
+ # Create a forwarded port mapping which allows access to a specific port
+ # within the machine from a port on the host machine. In the example below,
+ # accessing "localhost:8080" will access port 80 on the guest machine.
+ # config.vm.network :forwarded_port, guest: 80, host: 8080
+
+ # Create a private network, which allows host-only access to the machine
+ # using a specific IP.
+ # config.vm.network :private_network, ip: "192.168.33.10"
+
+ # Create a public network, which generally matched to bridged network.
+ # Bridged networks make the machine appear as another physical device on
+ # your network.
+ # config.vm.network :public_network
+
+ # Provider-specific configuration so you can fine-tune various
+ # backing providers for Vagrant. These expose provider-specific options.
+ # Example for VirtualBox:
+ #
+ # config.vm.provider :virtualbox do |vb|
+ # # Don't boot with headless mode
+ # vb.gui = true
+ #
+ # # Use VBoxManage to customize the VM. For example to change memory:
+ # vb.customize ["modifyvm", :id, "--memory", "1024"]
+ # end
+ #
+ # View the documentation for the provider you're using for more
+ # information on available options.
+end
diff --git a/editor_setup/gedit/bootstrap.sh b/editor_setup/gedit/bootstrap.sh
new file mode 100644
index 0000000..7547949
--- /dev/null
+++ b/editor_setup/gedit/bootstrap.sh
@@ -0,0 +1,12 @@
+#!/usr/bin/env bash
+
+apt-get update
+apt-get install -y gedit gedit-plugins gedit-developer-plugins rabbitvcs-gedit
+
+# Another example: Apache install
+# You'll also want to enable port forwarding (currently commented) in the
+# Vagrantfile!
+
+# apt-get install -y apache2
+# rm -rf /var/www
+# ln -fs /vagrant /var/www
diff --git a/editor_setup/gedit/installation-with-apt.md b/editor_setup/gedit/installation-with-apt.md
new file mode 100644
index 0000000..fb335ce
--- /dev/null
+++ b/editor_setup/gedit/installation-with-apt.md
@@ -0,0 +1,35 @@
+## Installing gedit + useful plugins with apt-get
+
+I'm basing this on Ubuntu 12.04.3, as that seems like a reasonable minimum level
+of being up-to-date. It should be clear how to adapt this to other distros with
+comparable packages. *See below for instructions on how to bootstrap this with
+Vagrant!*
+
+After the standard `apt-get update`, run `apt-get install` for the following:
+
+- **gedit** Of course!
+- **gedit-plugins** A set of plugins for managing text better, includes things
+ like smart tabs/spaces, multi edit, code comment, etc.
+- **gedit-developer-plugins** syntax completion, python completion from imports,
+ syntax/style checking for python,
+- **rabbitvcs-gedit** GUI-ish thing for git, svn, bzr
+
+Not relevant to python, but you might also include gedit-latex-plugin and
+gedit-r-plugin for completeness for a beginning user.
+
+## Installing gedit with Vagrant
+
+By default, this uses [VirtualBox](https://google.com/search?q=virtualbox).
+You'll also need to install [Vagrant](http://vagrantup.com). You will likely
+prefer VMware if you have it (setting that up is an exercise for the
+reader).
+
+There should be a `Vagrantfile` and a `bootstrap.sh` in the same folder as this
+file. From the command line, just type `vagrant up`. See those files for more
+info, and the [Vagrant website](http://vagrantup.com) for the full
+documentation.
+
+In this case, unusual for vagrant, I've enabled X11 forwarding (and installed
+XQuartz). You can find the x11 config setting in the Vagrant file, and XQuartz
+is installable via a [Google search](https://www.google.com/search?q=XQuartz).
+
diff --git a/events/_drafts/template.md b/events/_drafts/template.md
deleted file mode 100644
index 4803e97..0000000
--- a/events/_drafts/template.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-layout: post
-title: Meeting Notes etc. WITHOUT a date (it's added automatically)
-author: You
----
-### Use third level headings
-
-Titles for posts are demoted to second level in post listings... And posts
-shouldn't have too much structure!
-
-Content!
diff --git a/events/_posts/2013-09-16-py4science-resurrection.md b/events/_posts/2013-09-16-py4science-resurrection.md
deleted file mode 100644
index 3959dd1..0000000
--- a/events/_posts/2013-09-16-py4science-resurrection.md
+++ /dev/null
@@ -1,44 +0,0 @@
----
-layout: post
-title: "Resurrecting py4science at UC Berkeley"
-date: 2013-09-16
----
-
-We will be having an organizational meeting this Wednesday, September 18th,
-2013 at the [D-lab](http://dlab.berkeley.edu) on the 3rd floor of Barrows Hall.
-
-
-The main purpose of the first meeting is to set up the
-structure for the rest of the year.
-The goal of py4science is to bring togther people using python for science
-to allow for sharing of tips, tricks, and resources.
-This is not a meant to be a **training series**, instead we hope to discuss
-a wide range of ever changing topics:
-
-For example:
-
- * source control
- * scipy or numpy advanced nugget
- * virtual env
- * integrating testing
- * package specific nuggets (eg Pandas, NetworkX, Ipython)
-
-Example Meeting Agenda
-----------------------
-
- * newbie nuggets: @ 20 minutes on a topic of interest to new coders
- * lightning talks: (1-4) advanced topics
- * working groups (split or not-split into groups to discuss lightning topics in detail)
- * random access: bring your code issues and questions, this is the time we help each other
- * core dump: meet for beers to continue conversations
-
-This first week we need input from you:
-
- * topics to cover
- * what do you think of the meeting layout
- * what do you want to see
- * how to disseminate information (mailing list, blog, wiki, newsletter)
- * engaging the community
- * industry night (May?)
-
-
diff --git a/events/_posts/2013-09-18-notes.md b/events/_posts/2013-09-18-notes.md
deleted file mode 100644
index 1782c5d..0000000
--- a/events/_posts/2013-09-18-notes.md
+++ /dev/null
@@ -1,115 +0,0 @@
----
-layout: post
-title: "Meeting Notes 2013-09-18"
-date: 2013-09-18
-author: Jess Hamrick
----
-
-This was the first meeting of py4science, and was primarily
-organizational.
-
-## Attendance
-
-12 attendees, with an experience breakdown of:
-
-* Experienced: 6
-* New: 3
-* Intermediate: 3
-
-People came from a variety of different departments and organizations
-as well:
-
-* Helen Wills
-* Redwood Center
-* Neuroscience
-* Psychology
-* Nuclear engineering
-* IPython
-* Astronomy
-* I School
-
-## Meeting topics
-
-### Newbie nuggets
-
-* Each meeting will start with approximately 20 minutes for a "newbie
- nugget", which is a brief overview of some introductory topic.
-
-* Newbie nuggets should be written up in IPython notebooks, so they
- can be archived and referred to
-
-* Cindee went through two example nuggets on the glob library and list
- comprehensions
-
-### Related groups/events
-
-* Working groups
- 1. Python for data analysis on Fridays 12-2pm, in D-Lab (Bob Bell)
- 2. Text analysis on Fridays 2-4pm in D-Lab
-
-* There will probably be more Python Fundamentals courses
-
-### Advanced topics for lightning talks
-
-What do people want to hear about?
-
-* Test-driven development (resources, getting into the habit
- of test-driven development)
-* Using virtual environments
-* Parallel computing (theano, and just parallelization in general)
-* Pandas workflow
-* IPython: new and upcoming features, tips and tricks
-* How to work on the bleeding edge of an environment
-* Maintaining packages
-* pytables
-* Writing documentation
-* Cython
-* Python 3
-* Development tools: editors, version control, pylint, etc.
-* scikits (especially scikit-learn)
-* statsmodels
-* RPy
-* Javascript, D3
-* Pyglet
-* Starcluster (for managing amazon ec2 clusters)
-* networkx
-* Package managment (pip, easy_install, anaconda, enthought, wheels,
- etc...)
-* Panda3D
-
-### Publicity
-
-How do we get the word out about this meeting to people? What is the
-best way to have a collaborative sharing environment?
-
-* py4science mailing list (please forward to other lists, too!)
-* google calendar that sits on the website, can be imported (this has
- now been created and can be found
- [here](https://www.google.com/calendar/embed?src=moeh9ilpdjicogfaav9jtplh28%40group.calendar.google.com&ctz=America/Los_Angeles)
-* py4science list name is not on the website, there should be a link
- that takes you to the page to add yourself. We should also include
- this in the emails.
-* py4science twitter feed?
-* we should put the exact room number on the invitation emails/website
-
-### Misc
-
-* Open to more people besides Berkeley, e.g. industry
-* If we want pizza, we can set up a collection and ask different
- people to bring food each meeting. D-Lab will reimburse for small
- amounts of food.
-* Information about the old py4science can be found
- [here](https://github.com/ipython/ipython/wiki/Trash:+Py4science)
-
-## Future meetings
-
-* Meetings are every other week, may change to every week if there's
- enough content
-
-* Next meeting is in two weeks 10/02/2013
- * Cindee will do the newbie nugget
- * Lightning talks on advanced topics (~20 minutes each)
- * Python 3 (Thomas)
- * New stuff in IPython (Min)
-
-* The following meeting: editor extravaganza!
diff --git a/events/_posts/2013-09-25-py4data-welcome.md b/events/_posts/2013-09-25-py4data-welcome.md
deleted file mode 100644
index e537f28..0000000
--- a/events/_posts/2013-09-25-py4data-welcome.md
+++ /dev/null
@@ -1,38 +0,0 @@
----
-layout: post
-title: Introducing py4data
-tags: py4data
-author: Bob Bell
----
-
-Some folks have already found out about the new py4data working group, meeting
-Fridays at the D-Lab from noon-2pm. And there's apparently some confusion. So,
-just to be clear:
-
-## All members of the py4science community are welcome!
-
-And what goes on there? Here are some lightly edited words from the current
-organizer of py4data, Bob Bell:
-
-I hope everyone is well. We had an awesome time last week learning how
-the python data analysis package pandas can help us productively work
-with data.
-
-We will be meeting again Friday (9/27/2013), 12-2pm at the D-Lab
-(Barrows 3rd floor) to finish working through our sections in Chapter
-2 and give our group presentations.
-
-If you want to continue with Pandas, we will switch this week from Wes
-McKinney's book to these [IPython notebook based resources]
-(https://bitbucket.org/hrojas/learn-pandas).
-
-Some of us might forge ahead into [econometics and monte carlo sampling]
-(http://quant-econ.net/).
-
-As we did last week, towards the end we will discuss some of the specific
-topics we want to cover in subsequent meetings, based on the features
-we have explored the past three weeks as well as your own projects.
-
-And, as before, I will be available 15-20 minutes before the working group
-session to help anyone with accessing this notebook, getting setup
-with wakari.io, etc.
diff --git a/events/_posts/2013-09-27-py4text-welcome.md b/events/_posts/2013-09-27-py4text-welcome.md
deleted file mode 100644
index 3b6440d..0000000
--- a/events/_posts/2013-09-27-py4text-welcome.md
+++ /dev/null
@@ -1,13 +0,0 @@
----
-layout: post
-title: Introducing py4text
-tags: py4text
-author: Cyrus Dioun
----
-Some folks have already found out about our py4text Working group, meeting
-Fridays at the D-Lab from 2-4pm. And there's apparently some confusion. So, just
-to be clear:
-
-## All members of the Py4Science community are welcome!
-
-We are currently figuring out the schedule for the working group this semester. Check back soon for an update.
diff --git a/events/_posts/2013-10-01-py4data-pandas-and-econ.md b/events/_posts/2013-10-01-py4data-pandas-and-econ.md
deleted file mode 100644
index 8ddc984..0000000
--- a/events/_posts/2013-10-01-py4data-pandas-and-econ.md
+++ /dev/null
@@ -1,37 +0,0 @@
----
-layout: post
-title: Pandas and econometrics at py4data
-tags: py4data
-author: Dav Clark
----
-
-## Recap
-
- - We had eight people show up, mostly grad students (less than normal, perhaps
- due to a competing job fair).
- - This week people mostly worked independently on different projects. In
- particular people are starting to work with their own data.
- - Almost everyone is finding it useful to use
- [pandas](http://pandas.pydata.org) to read in their data sets
- and some people are starting to look at doing quantitative economics on their data.
- - Py4text is in the process of merging with py4data so that we have more skills
- and expertise in the room at once.
-
-## Upcoming
-
-Both organizers and py4data and py4text are entering a busy period of the
-semester and we're realizing we have conflicts with other important events on
-campus. So:
-
- 1. Py4text and py4data meetings will merge - we'll just call it py4data in the
- future
- 2. Py4data is on hold while we try to figure out the best time to accomodate interested members of the py4science community.
-
-So, if you're interested in hacking on some code with a like-minded Python
-community, please join the py4data working group! (details will be forthcoming
-here and on the mailing list.) But, **there is no meeting
-this Friday, Oct 4 for py4data**. The regular py4science meeting **will** meet
-on Wednesday, and will keep meeting on alternating Wednesdays.
-
-As always, we'll coordinate here on python.berkeley.edu/py4science, and on the
-py4science mailing list!
diff --git a/events/_posts/2013-10-01-py4science-grab-bag.md b/events/_posts/2013-10-01-py4science-grab-bag.md
deleted file mode 100644
index 09a0995..0000000
--- a/events/_posts/2013-10-01-py4science-grab-bag.md
+++ /dev/null
@@ -1,23 +0,0 @@
----
-layout: post
-title: A healthy variety at py4science
-date: 2013-10-01
-author: Dav Clark
----
-We'll have our first substantive meeting this week on 10/02/2013!
-
-As per usual, we'll meet from 5-7pm, but *unlike previously* we'll meet in the
-large breakout room, 371 Barrows. The door is around the corner from the main
-D-Lab entrance.
-
-Meetings are still every other week, but may change to every week if there's
-enough content.
-
-## Schedule
-
- - Cindee will do the newbie nugget
- - Lightning talks on advanced topics (~20 minutes each)
- - Python 3 (Thomas)
- - New stuff in IPython (Min)
-
-**Next meeting: editor extravaganza!**
diff --git a/events/_posts/2013-10-08-py4science-meeting-two.md b/events/_posts/2013-10-08-py4science-meeting-two.md
deleted file mode 100644
index d000da3..0000000
--- a/events/_posts/2013-10-08-py4science-meeting-two.md
+++ /dev/null
@@ -1,78 +0,0 @@
----
-layout: post
-title: "Meeting Notes from 2013-10-02"
-author: Jess Hamrick
----
-
-This was the second meeting of py4science!
-
-## Attendance
-
-There were 9 attendees, with an experience breakdown of:
-
-* Experienced: 7
-* Intermediate: 2
-* New: 0
-
-People came from the following departments and organizations:
-
-* Neuroscience
-* IPython
-* Psychology
-* D-Lab
-* Bioengineering
-* Vision Science
-
-### Working Groups
-
-Dav talked about the differences between working groups and the py4science meeting, emphasizing that py4science is more "show and tell" while py4text/py4data is more hands-on.
-
-## Newbie Nugget
-
-Cindee presented this week's Newbie Nugget. The topic is about `if __name__ ==
-"__main__":`
-
-[IPython notebook for the Newbie Nugget](assets/newbie_nugget_Oct2_2013.html)
-
-Min pointed out that you can write files in IPython notebook using the
-`%%file` cell magic!
-
-Jess mentioned that `if __name__ == "__main__"` doesn't work well in emacs and IPython. Apparently python-mode ignores anything in the 'if' statement.
-
-## Lightning Talks
-
-### What's New in IPython
-
-Presented by Min
-
-Awesome stuff: `%matplotlib`, `raw_input`, `nbconvert`, widgets
-
-[Notebook for New Features in IPython 1.0](https://github.com/minrk/py4science-notebooks/blob/master/What's%20new%20in%201.0.ipynb)
-
-[Notebook for Upcoming Features in IPython 2.0](https://github.com/minrk/py4science-notebooks/blob/master/Coming%20in%202.0.ipynb)
-
-### Python 3
-
-Presented by Thomas
-
-Thomas covered a range of topics, including: `print`, iterators, unicode, function annotation for
-typechecking and command line argument parsing, yield from and return from generators.
-
-Useful tip: `python -o` will remove assert statements!
-
-Update: [Thomas' Slides](https://github.com/dlab-berkeley/python-berkeley/tree/master/python3_overview)
-
-
-## Next Time: Editors
-
-Next py4science meeting is in two weeks, on 10/16/2013!
-
-* Dav will do the newbie nugget
-* Overview of different editors (Each person should take about 10 minutes to describe their workflow, what things are most useful, and resources on how to get started using that particular editor).
- * Emacs: Jess
- * Sublime: Bill
- * Vim: Paul
- * TextMate: Min
- * Gedit: Dav
-
-This meeting will be good for beginners! Please come join us to learn more.
diff --git a/events/_posts/2013-10-16-py4science-editors.md b/events/_posts/2013-10-16-py4science-editors.md
deleted file mode 100644
index 2759add..0000000
--- a/events/_posts/2013-10-16-py4science-editors.md
+++ /dev/null
@@ -1,81 +0,0 @@
----
-layout: post
-title: "Meeting Notes for 2013-10-16"
-author: Cindee Madison
----
-
-Last Meeting **Editors**
-=======
-
-
-
-Attendance : 9
-
-* Overview of different editors
-* most useful, and resources on how to get started using that particular editor)
-
-=======
-
- * Emacs: Jess
- * Sublime: Bill
- * Vim: Many
- * Gedit: Dav
-
-### Jess Hamrick started with [Emacs](http://www.gnu.org/software/emacs/)
-
- * suggested the [homebrew](http://brew.sh/) version os cocoa emacs for MacOSX
-
-####The **bad**
- * high initial learning curve
- * plugins can be buggy
- * bad package management
- * customization written in [elisp](http://en.wikipedia.org/wiki/Emacs_Lisp)
-
-####The **good**
- * [emacswiki.org](http://www.emacswiki.org/emacs/?action=browse;oldid=PythonMode;id=PythonProgrammingInEmacs)
- * supports many languages (Python, Latex, GIT Markdown)
- * Terminal mode
- * plugin for ipython notebook
- * scratch buffer for prototyping
- * [Jedi](http://tkf.github.io/emacs-jedi/) for auto completion
- * [nipy tricked out emacs] (http://nipy.sourceforge.net/devel/tools/tricked_out_emacs.html)
- * [pycheckers](https://github.com/dholm/flymake-pycheckers) for integrating
- * [magit](https://github.com/magit/magit) Git interface
-
-***
-
-### Dav Clark [Gedit](https://projects.gnome.org/gedit/) via virtualbox
-
-Used [virtualbox](https://www.virtualbox.org/wiki/Downloads) + [vagrant](http://www.vagrantup.com/)
-to run ubuntu and gedit on OSX
-
-[github resources for vagrant](https://github.com/dlab-berkeley/python-berkeley/tree/master/editor_setup)
-
- * gedit and related packages need to map to outside folder, but this is easy to set up
- * preferences
- * set up default preferences by choosing preferences form File menu
- * easily choose relevent modules (eg smart spaces)
- * great tool for beginners and teaching
- * syntax highlighting
-
-****
-
-### Bill Sprague [Sublime](http://www.sublimetext.com/)
-
-#### The **bad**
- * not opensource need a license ($70)
- * though!! public beta for verson 3 license is not required
-
-#### The **good**
- * sublime works on all platforms
- * faster and less bloated than Vim
- * powerful GUI interface
- * multiple ways to edit text
- * command pallate is amazing (has fuzzy searching for all commands making it trivial to find command you want)
- * good keyboard
- shortcuts classic mode with vim keyboard shortcuts, good for transition
- * setup files are json script, easy to edit
- * many add on packages which are easy to install
- * has project mode for searching within projects
- * good for multipurpose cleaning of text files
-
diff --git a/events/_posts/2013-10-18-back-in-action.md b/events/_posts/2013-10-18-back-in-action.md
deleted file mode 100644
index b7b7dee..0000000
--- a/events/_posts/2013-10-18-back-in-action.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-layout: post
-title: Packaging and Meeting Notes
-author: Dav Clark
-tags: py4data
----
-We've started a new format, where we'll talk about a (hopefully) useful topic
-for Python and data science for the first 30-40 minutes. See the end of this
-post for a poll for this Friday!
-
-## Planning for the Future
-
-We agreed that we'll invite Ian Greenhouse from Neuroscience to bring his code
-to py4data in November. We'll work on developing robust, sharable, well-tested
-python code that processes data for pharmacological MRI scans. Even if you're
-not a neuroscientist or biologist, this will be a great opportunity to develop
-best practices in sotware developmetn, and will include general analysis issues
-like spectrum analysis and data management.
-
-We are tentatively planning to start this project at the py4data meeting on Nov 22, 2013
-
-## Making it Easier to Get Started and Learn
-
-We talked about resources that are missing from [python.berkeley.edu](http://python.berkeley.edu).
-
-GOAL: go to [python.berkeley.edu](http://python.berkeley.edu) when confused about something. It's a work in progress, mostly useful for folks getting started (on Python or a particular topic). Following are some resources we'd like to integrate:
-
- - Udacity
- - Learn Py the Hard Way
- - Point to GitHub "How To"
- - Learnds. ?
- - Graphing:
- - Vincent (for d3) - apparently hard to use for a beginner
- - ggplot - a copy of R's ggplot2 (Can use ggplot2 or lattice via rpy2)
- - Lecture notes from high-quality intro python courses on campus?Terry Regier
- (Cog Sci / Linguistics) python notes?
-
-## How do we Install Packages?
-
-1. EASY, TRY THESE FIRST:
- - Canopy (GUI, cmd line)
- - Anaconda (make sure to update conda with `$ conda update conda`)
- - For Ubuntu (and other Debian-based systems): [NeuroDebian PPA](http://neuro.debian.net/) - Good even for non-neuro-science
- - other PPAs are mostly outdated or TOO up-to-date / broken
- - Linux: apt/yum/etc
-2. Use pip
- - `$ pip install pandas`
- - `$ pip install -U pandas` to upgrade
-3. Download directly from the project page directly
- - download bundle OUTSIDE python dirs/folders. We'll call this `pkg-dir`
- - `$ cd pkg-dir`
- - `$ python setup.py install`
-
-## What do we talk about this Friday?
-
- - Designing experiments in python (eye tracking, etc.)
- - Speeding up code (pandas/numpy, cython, array ops)
- - start with pandas (over numpy) for social sciences
- - Graphing
- - Nothing
diff --git a/events/_posts/2013-10-25-hacking-away-py4data.md b/events/_posts/2013-10-25-hacking-away-py4data.md
deleted file mode 100644
index 03ae144..0000000
--- a/events/_posts/2013-10-25-hacking-away-py4data.md
+++ /dev/null
@@ -1,32 +0,0 @@
----
-layout: post
-title: Hacking away at py4data
-author: Dav Clark
----
-## Continuing with didactic
-
-Dav (that's me) led a brief tour of how easy it is to pull down financial data
-from one of the major providers using pandas, and using methods right there on
-the DataFrame to plot the results. But, there are pitfalls!
-
-Find out more in the [py4data directory in the `master` branch](https://github.com/dlab-berkeley/python-berkeley/tree/master/py4data) of our repo (this site is managed in the
-[`gh-pages` branch](https://github.com/dlab-berkeley/python-berkeley/tree/gh-pages)).
-
-## Settling into a reasonable pace
-
-We continue to get newcomers, and some folks have still managed to come to every
-meeting. While we're building expertise as a group, you are more than welcome to
-drop in. Folks are making progress on everything from managing campus budgets,
-to automatically classifying power plants. No challenge is turned away!
-
-## Planning ahead for some open, battle tested science!
-
-In only 4 weeks (Nov 22), we'll be starting on a group project to make some existing
-scientific code open, easy-to-use, and well-tested. Tell your colleagues!
-
-## Up next
-
-There wasn't much feedback on what people wanted to see for the first 30 minutes
-of the meeting, so I just chose something I thought would be useful. Please
-contact me if you're interested in hearing about a particular topic. We can also
-pull in expertise from other people!
diff --git a/events/_posts/2013-10-30-pandas.md b/events/_posts/2013-10-30-pandas.md
deleted file mode 100644
index 172d3cd..0000000
--- a/events/_posts/2013-10-30-pandas.md
+++ /dev/null
@@ -1,35 +0,0 @@
----
-layout: post
-title: "Meeting Notes 2013-10-30"
-date: 2013-10-30
-author: Jess Hamrick
----
-
-Today's topic: data-wrangling with `pandas`!
-
-## Attendance
-
-There were 15 attendees, with people coming from the following departments and organizations:
-
-- D-Lab
-- IPython
-- Redwood Center
-- Department of City and Regional Planning
-- Psychology
-- School of Information
-- Neuroscience
-- Lawrence Berkeley National Laboratory
-
-## Agile Data Wrangling with Python
-
-[IPython notebook](https://github.com/cindeem/ipython-notebooks/tree/master/pandas) presented by Cindee
-
-## Next Time: Testing
-
-Next meeting is in two weeks on 11/13/2013
-
-**UPDATE:** 11/13 (today's) meeting postponed.
-
-Unfortunately, some of our core presenters will be unavailable for this evening. As such, we are postponing tonight's py4science testing extravaganza until next week (11/20).
-
-We'll be covering basic testing strategies and testing frameworks (unittest, py.test, nose, etc.).
diff --git a/events/_posts/2013-11-18-get-ready-to-test.md b/events/_posts/2013-11-18-get-ready-to-test.md
deleted file mode 100644
index 431889b..0000000
--- a/events/_posts/2013-11-18-get-ready-to-test.md
+++ /dev/null
@@ -1,28 +0,0 @@
----
-layout: post
-title: Let's Get Ready to Test!
-author: Dav Clark
----
-We'll be having two events this coming week working towards creating
-well-tested, ready-to-share scientific code.
-
-## Py4science testing extravaganza
-
-We couldn't do py4science last week, due to some absences and illnesses. So,
-we'll pick up this week `Nov 20, 5-7pm` with:
-
-- When to test (@cindeem will review this)
-- [nose](http://nose.readthedocs.org/en/latest/) (@katyhuff can help)
-- [py.test](http://pytest.org/latest/contents.html)
-- Revisiting [unittest](http://docs.python.org/2/library/unittest.html)
-
-(Feel free to add your name above if you are planning to help with that section.)
-
-## Py4data code porting and testing
-
-Then, Friday, Nov 22 at noon, we'll start working on porting some
-[pharmacological MR analysis code](https://www.github.com/iangreenhouse/MRS) to
-battle-tested python. This project will serve as (we hope!) an exemplary model
-for folks wanting to create reusable code for science. Should you come even if
-you're not a neuroscientist? Definitely! It's about the process here - not the
-specific code.
diff --git a/events/_posts/2013-11-20-testing-packages.md b/events/_posts/2013-11-20-testing-packages.md
deleted file mode 100644
index e3f312a..0000000
--- a/events/_posts/2013-11-20-testing-packages.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-layout: post
-title: 'Testing Packages: pytest and nose'
-author: Dav Clark
----
-## In attendance
-
-11 folks signed in, from:
-
- - Psychology
- - Nuclear Engineering
- - Vision Science
- - Physics
- - L&S
- - IPython
- - and (of course) the D-Lab
-
-## Nose
-
-You can find out more about Nose [here](http://nose.readthedocs.org/en/latest/).
-
-Katy presented a tutorial on testing from
-[Software Carpentry](https://github.com/swcarpentry/bc/tree/gh-pages/lessons/thw-testing).
-
-## Pytest
-
-You can learn more about Pytest [here](http://pytest.org/latest/).
-
-Thomas presented
-[a notebook](https://github.com/dlab-berkeley/python-berkeley/blob/master/testing/Test%20frameworks.ipynb),
-which was mostly about pytest.
-
-## About this post
-
-This is the first post where we're using jQuery to automatically format links to
-IPython notebooks (code [here](http://python.berkeley.edu/assets/nbview.js)).
-For now, we automatically add a link to view in nbviewer following any link
-ending in `.ipynb`. It would be pretty nifty if we could use javascript to look
-for a notebook server (on `localhost:8888`?), and offer it a notebook somehow.
diff --git a/events/_posts/2013-12-11-coastal-ecosystem-simulation.md b/events/_posts/2013-12-11-coastal-ecosystem-simulation.md
deleted file mode 100644
index 916d22c..0000000
--- a/events/_posts/2013-12-11-coastal-ecosystem-simulation.md
+++ /dev/null
@@ -1,24 +0,0 @@
----
-layout: post
-title: Coastal Ecosystem Simulation at Py4science
-author: Dav Clark
----
-Chris Kees and Aron Ahmadia will be presenting some of their work.
-
-Chris is one of the lead developers of Proteus, a Python-based toolkit for the
-solution of partial differential equations with coastal applications. Aron is a
-developer of PyClaw, a Python-based toolkit for the solution of wave propagation
-problems. from their email:
-
-> We're mostly interested in meeting the newly-reinvigorated py4science group,
-> and sharing a little bit about what we're working on over here at the US Army
-> Engineer Research and Development Center in terms of how Python is helping us
-> protect our coasts, estuaries, rivers, and levees.
-
-These meetings are informal but fun. We meet from 5-7pm oon the 3rd floor of
-Barrows Hall in the D-lab Convening Room (largish meeting room). And there
-usually is pizza.
-
-UPDATE: We saw presentations on [PyClaw](https://github.com/clawpack/clawpack/)
-and a way to install such gnarly code with
-[HashDist](http://hashdist.readthedocs.org/en/latest/)/[HashStack](https://github.com/hashdist/hashstack)! **Even on Windows** (and equally gnarly supercomputing clusters)!
diff --git a/events/_posts/2014-01-24-python-workers-party-rally.md b/events/_posts/2014-01-24-python-workers-party-rally.md
deleted file mode 100644
index 55aa66c..0000000
--- a/events/_posts/2014-01-24-python-workers-party-rally.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-layout: post
-title: The Python Workers' Party Inaugural Rally!
-author: Dav Clark
----
-
-
-### Executive Summary
-
-The Python Workers' Party will have it's first planning meeting this Friday at
-noon. We'll figure out our plan for the semster. Please come even if you're just
-getting started! Afterwards, around 1pm, Dav (and perhaps others) will be available for
-consulting.
-
-### A Little History
-
-Last semester, we had *two* different kinds of meeting for the Python community on
-campus, with the following confusing names:
-
- 1. **py4science** has been a continuation of the 6-ish year old user group meeting
- started by the IPython crew & friends.
- 2. After the summer 2013 FUNdamentals class in the D-Lab, students created
- **py4data**, where people show up with their own projects, or work on learning
- projects together. A wide range of expertise is often available for
- assistance in the room.
-
-We're doing a complete rebrand this semester, announcing the Python Workers'
-Party!
-
-Note that, much like "py4data," we don't imply that you need to be a "scientist"
-or even be doing "science" to attend. Digital humanists, open gov types, and
-multi-media artists are welcome!
-
-### The Agenda
-
- 1. Do we continue with two separate meetings this semster?
- 2. When will our meetings be?
- 3. Are there any particular topics / guests we'd like to see?
-
-**Revolutionary attire is encouraged.**
diff --git a/events/_posts/2014-01-31-a-new-format.md b/events/_posts/2014-01-31-a-new-format.md
deleted file mode 100644
index 3bdef23..0000000
--- a/events/_posts/2014-01-31-a-new-format.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-layout: post
-title: A New Format for Python Meetings
-author: Dav Clark
----
-### The Plan
-
-Going forward, we'll try consolidating to just one meeting format, and do it
-each week.
-
- Fridays 4-6pm
- D-Lab "Convening Room" (the classroom in our main space)
- First meeting: Friday 31st January 2014
-
-We hope this time will attract both people who're too busy during the main
-working day, and people who need to get home soon after work. Come and work on
-your own projects, or talk to other people about your shared interests. We made
-a map of topics people at the organisational meeting last week work on:
-
-
-
-There will be [lightning talks](http://en.wikipedia.org/wiki/Lightning_talk)
-at about 4.30pm on using Python in teaching and automated grading. If you know
-of projects or ideas about that, let us know at the meeting.
-
-### Update: What Happened?
-
-17 people present with optional affiliations, interests, like:
- - ipython, vim, vision science
- - python, vim, biostatistics
- - IPython, pyzmq, plasma physics
- - iSchool, open data, IPython
-
-Dav mentioned prose.io as a way to edit the GitHub pages (i.e., for this site).
-He's also using pytest in his course: e.g.,
-https://github.com/dlab-berkeley/python-fundamentals/blob/master/challenges/01-Intro/test_A_print_stuff.py
-
-he Picked pytest because error messages clearer than alternatives pedagogically:
-it might be great to emphasize importance of testing.
-
-
-### Jarrod about a tutorial for students to setup a github repository
- - berkeley-stat133.github.io
- - https://education.github.com/
- - http://apis.io
-
-
-### GRADING WITH PYTHON RESOURCES / LINKS
-
-Harvard cs109 is using IPython notebooks and some kind of grading (http://cs109.org)
-
- - (runipy) https://github.com/paulgb/runipy run IPython notebooks
- - ipnbdoctest script: https://gist.github.com/minrk/2620735
- - IPython nbconvert's preprocessor and metadata can be used to re-execute the
- notebooks, and generate HTML reports in a single step
diff --git a/events/_posts/2014-02-07-tea-party.md b/events/_posts/2014-02-07-tea-party.md
deleted file mode 100644
index 7bd74e6..0000000
--- a/events/_posts/2014-02-07-tea-party.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-layout: post
-title: A very Python Tea Party
-author: Dav Clark
----
-### Tea?
-
-We had tea for our British friend. But, he didn't show up. We managed to get by,
-and did a little one-on-one consulting. Then...
-
-### Lightning talks
-
- - Dav demo'd [rpy2](http://rpy.sourceforge.net/rpy2/doc-2.3/html/index.html)
- and
- [rmagic](http://ipython.org/ipython-doc/dev/config/extensions/rmagic.html) to
- send data you've cleaned up in Python to R.
- - Min just pushed %interact to master! [Check it out!](Check it out!)
- - Paul melted some brains with his ["vimception"
- plugin](https://github.com/ivanov/ipython-vimception) to enable
- multi-vim-mode in IPython notebook itself and every cell within.
diff --git a/events/_posts/2014-02-21-plotting-and-stuff.md b/events/_posts/2014-02-21-plotting-and-stuff.md
deleted file mode 100644
index b989831..0000000
--- a/events/_posts/2014-02-21-plotting-and-stuff.md
+++ /dev/null
@@ -1,53 +0,0 @@
----
-layout: post
-title: Plotting and Stuff
-author: You
----
-### We're going to PLOT!!!!
-
-There are lots of ways to make your matplotlib experience better (especially
-*looking* better):
-
- - [Seaborn](http://www.stanford.edu/~mwaskom/software/seaborn/)
- - [prettyplotlib](http://olgabot.github.io/prettyplotlib/)
- - [ggplot](http://blog.yhathq.com/posts/ggplot-for-python.html)
- - [brewer2mpl](https://github.com/jiffyclub/brewer2mpl/wiki)
- - [mpltools](http://tonysyu.github.io/mpltools/getting_started.html)
-
-Then, there are numerous approaches using JavaScript (via python):
-
- - [mplD3](https://github.com/jakevdp/mpld3)
- - [Bokeh](http://bokeh.pydata.org/index.html)
- - [vincent](https://github.com/wrobstory/vincent)
-
-And lastly, [plotly](https://plot.ly) doesn't quit fit into the above. It's a
-true web API for plotting.
-
-### Actual discussion
-
-Mark talked about [matplotlib](http://matplotlib.org/) basics. The defaults for
-bar plots are poor, but you can fix them up. Scatterplots are great.
-
-[Veusz](http://home.gna.org/veusz/) is a neat package to manually fix up your
-plot, but you can save them manually.
-
-[Bokeh](http://bokeh.pydata.org/index.html) can plot matplotlib objects in
-javascript. It also does awesome interactive plots and mapping. It can plot in
-the notbook directly, but you need to run a bokeh-server. Jake Vanderplas
-(author of mpld3) said [he was excited about
-Bokeh](http://jakevdp.github.io/blog/2013/03/23/matplotlib-and-the-future-of-visualization-in-python/)
-too.
-
-[Plotly](https://plot.ly) requires you to be online, but looks nice and is
-interactive / easy to share.
-
-[Vincent](https://github.com/wrobstory/vincent) is an easy way to get from
-pandas to D3 (but provides a strong abstraction layer around D3 - Vega).
-
-If you're interested in digging into javascript,
-[dimple.js](http://dimplejs.org/) comes recommended as a well-documented,
-lightweight approach that allows full access to D3 underneath. It doesn't do
-maps, so if you want that, leaflet and tilemill seem to be the go-to tech
-these days, with a lot of investment by the folks at Mapbox. [This
-post](https://www.mapbox.com/blog/github-visual-diff/) will probably make you
-say "whoa, holy map-diffs, GitHub!"
diff --git a/events/_posts/2014-02-28-getting-things-done-with-pandas.md b/events/_posts/2014-02-28-getting-things-done-with-pandas.md
deleted file mode 100644
index 5b41d6b..0000000
--- a/events/_posts/2014-02-28-getting-things-done-with-pandas.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-layout: post
-title: Getting Things Done with Pandas!
-author: Dav Clark
----
-### Pandas? What's that?
-
-[Pandas](http://pandas.pydata.org) has become a hub of activity for the
-development of useful, (relatively) easy tools for doing all kinds of "data
-science." This functionality is built around a central DataFrame structure
-(familiar to those of you coming from R), and includes support for oft-neglected
-stages of science like data cleaning and exploratory plotting.
-
-### The plan
-
-We didn't quite get through all the nice ways to use matplotlib last week, so
-we'll be ready to have a quick look at:
-
- - [Seaborn](http://www.stanford.edu/~mwaskom/software/seaborn/), which makes it
- easier to plot using pandas *and* make things look nice.
- - [Vectorized string
- methods](http://pandas-docs.github.io/pandas-docs-travis/basics.html#vectorized-string-methods)
- that make your data-cleaning life easier.
- - Dav used stock data using [the pandas io
- module](http://pandas.pydata.org/pandas-docs/stable/remote_data.html) for one
- example.
-
-But we always welcome short talks from everyone! Particularly if you are haven't
-spoken before!
-
-If there's interest, after the lightning talks, I (Dav) will lead a group on
-fixing a bug in the string methods linked above, and we'll try submitting a pull
-request against pandas on github.
diff --git a/events/_posts/2014-03-07-kbase-and-india.md b/events/_posts/2014-03-07-kbase-and-india.md
deleted file mode 100644
index b697a6f..0000000
--- a/events/_posts/2014-03-07-kbase-and-india.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-layout: post
-title: Updates from KBase and open Indian computing training
-author: Dav Clark
----
-We had some great presentations today! Stephen Chan from LBNL's KBase team, and
-Kannan Moudgalya.
-
-### KBase
-
-KBase is a project to adapt the IPython notebook to fascilitate collaboration
-between computational and experimental (bench) biologists. But they want to
-expand. There is a developer preview at [demo.kbase.us](http://demo.kbase.us),
-you can sign up!
-
-### Spoken Tutorial
-
-Spoken Tutorial is a systematic approach to providing materials like Rails
-Casts. (Is there something like this in Python? Submit a pull-request!)
-
-Check out [these statistics](http://spoken-tutorial.org/statistics)!
-
-This program offers vetted, open, downloadable screencasts in hybrid
-English/native language instruction. Materials span open office software to
-Scilab and Python.
-
-### FOSSEE
-
-The Indian government has also heavily invested in building out free software
-infrastructure for reasearch and education.
-
-Approximate rationale: “We take a loan from the World Bank, and burn that money
-on Matlab®”
-
-So, there is now a pipeline to create Scilab and Python materials for over 500
-textbooks in science and engineering. All of these materials are [available
-online](http://fossee.in/).
-
-It's hard to get students to use FOSS! But one success is when students realize
-that Turbo C (you read that correctly) is a barrier to pass a class -- then
-they're willing to switch to gcc on linux.
-
-### Akash Tablet
-
-They apparently also make [these tablets](http://aakashlabs.org/), which
-aim to be the cheapest linux computers in the world.
diff --git a/events/_posts/2014-03-14-MOOCs-and-SciPy.md b/events/_posts/2014-03-14-MOOCs-and-SciPy.md
deleted file mode 100644
index 536597f..0000000
--- a/events/_posts/2014-03-14-MOOCs-and-SciPy.md
+++ /dev/null
@@ -1,61 +0,0 @@
----
-layout: post
-title: MOOCs and SciPy
-author: Dav Clark
----
-### A call for submissions to SciPy 2014
-
-The deadline for [SciPy 2014](https://conference.scipy.org/scipy2014/)
-appproaches! It's a great, growing conference, with an emphasis on the following
-topics (espeically the first two this year):
-
- - **Education**
- - **Geospatial data**
- - Astronomy and astrophysics
- - Bioinformatics
- - Geophysics
- - Vision, Visualization, and Imaging
- - Computational Social Science and Digital Humanities
- - Engineering
-
-There is also a [**Diversity
-Goal**](https://conference.scipy.org/scipy2014/diversity/). Anyone up for
-organizing something for women, people of color, or other under-represented
-groups?
-
-Abstract submissions are due this Friday, but if that's a deal-breaker, we will
-probably be able to accomodate later submissions (feel free to contact me or
-Katy Huff about it).
-
-### MOOCs this week
-
-And now, a selfish topic request this week: the D-Lab is looking at becoming
-a resource for MOOC (1) data on campus. I'd invite folks who are engaged with
-online courseware to talk about what they've been doing. This could include
-things that Raymond is doing with the new bCourses system (our campus course
-management portal). Or particularly folks who've been working with EdX systems!
-
-(1) MOOC = “Massive Open Online Course” You've probably heard of some of them,
-like Kahn Academy, EdX (& our local BerkeleyX), Codecademy, Coursera, etc.
-
-### A place for beginners
-
-Lastly, please invite folks who are beginners. The idea is for the Python
-Workers' Party to support the development of our community! People can treat it
-like a "study hall" to follow a MOOC or book and ask for help if they get stuck,
-or ask for help with their projects.
-
-### What happened
-
-Raymond talked about his experiences with bCourses (which runs on
-[Canvas](https://github.com/instructure/canvas-lms), which is produced by
-[Instructure](http://www.instructure.com)). He was initialy motivated to do
-automated grading, but it's been harder to do than to just have his TA do it.
-
-So, he's been working on being able to do something like clickers during his
-class, although some of the response features of Canvas are still in beta. I.e.,
-students can provide answers to questions during class, and then you can
-programmatically access what they respond.
-
-There's a REST API, and Raymonds working on a library to work with it. Let him
-know if you want to join the effort!
diff --git a/events/_posts/2014-03-21-teaching-and-intervening.md b/events/_posts/2014-03-21-teaching-and-intervening.md
deleted file mode 100644
index 8bf8d4c..0000000
--- a/events/_posts/2014-03-21-teaching-and-intervening.md
+++ /dev/null
@@ -1,45 +0,0 @@
----
-layout: post
-title: Teaching and Intervening
-author: Dav Clark
----
-### Teaching
-
-We just had another bootcamp! I've been thinking about planning for future
-curricula in the D-Lab, and would love to chat with interested folks about what
-we do next.
-
-UPDATE: We talked about different approaches we might take:
-
-
-
-William Stein paid us a visit, and mentioned the utility of introducing a
-surprising gotcha after each topic.
-
-You can (unsurprisingly) find some gotchas on [Stack
-Overflow](http://stackoverflow.com/questions/530530/python-2-x-gotchas-and-landmines)
-
-### Mobile (and other) Interventions
-
-I'll also be fresh from a meeting about how to do mobile interventions and
-surveys, including technologies like Django. If folks wanted to touch base about
-that, I'd love to! Look for updates with links after the meeting.
-
-NOTE: We didn't actually get to this.
-
-### Other stuff: William Stein / SAGE Math Cloud
-
-[William Stein](http://modular.math.washington.edu/) presented [SAGE Math
-Cloud](https://cloud.sagemath.com/). It's pretty rad, you can use it for free.
-He also still [skates vert](http://imgur.com/gallery/1fykucl).
-
-### Fancy photo shoot
-
-Lastly - Angela from the Berkeley Science Review showed up and took some
-pictures of us. She also said she thought William's presentation was pretty
-cool. Stay posted for further images.
-
-### Spring Break
-
-PLEASE NOTE - we will be taking a break over spring break. You should too! We'll
-meet Friday, March 21, and then resume in April.
diff --git a/events/_posts/2014-04-04-zen-party.md b/events/_posts/2014-04-04-zen-party.md
deleted file mode 100644
index dbfbdc7..0000000
--- a/events/_posts/2014-04-04-zen-party.md
+++ /dev/null
@@ -1,52 +0,0 @@
----
-layout: post
-title: What is the sound of one hand coding?
-author: Dav Clark
----
-### Python Koans
-
-This Friday, I propose an exploration of ["Koans" for learning
-python](https://github.com/gregmalcolm/python_koans) (and potentially other
-programming languages / frameworks). It turns out there's a whole internet
-subculture dedicated to this "test-driven learning" idea that I've been talking
-about with some of you!
-
-As per usual, [the Hitchiker's Guide to
-Python](http://docs.python-guide.org/en/latest) [already knew about
-this](http://docs.python-guide.org/en/latest/intro/learning/#python-koans).
-
-Thanks to @ivanov for finding this, and yes, the Koan idea was started
-by a Rubyist...
-
-The python guide suggests the following links to find more koans [on
-GitHub](https://github.com/search?q=koans&ref=cmdform) and [on
-BitBucket](https://bitbucket.org/repo/all?name=koans).
-
-### UPDATE: How'd it go?
-
-The Python koans were surprisingly in line with the official python docs,
-starting with [section
-3](https://docs.python.org/2.7/tutorial/introduction.html). The Koans really
-aren't usable for a beginner without some orientation to these or similar docs
-(as is recommended by the above-mentioned [Hitchhiker's
-Guide](http://docs.python-guide.org/en/latest/intro/learning/#python-koans).
-
-The Koans are quite dry, and for a beginning non-programmer, they may wonder why
-they spend all that time on the minutiae of string syntax. Jess did some work
-making a strings notebook that has the user go through and test whether various
-python strings are the same or different (using different syntax to get similar
-or identical strings). For example, are the following equivalent?
-
-``` python
-str1 = "This has two lines?\n"
-str2 = r"This has two lines?\n"
-str3 = """This has two lines?
-"""
-```
-
-If you're unsure, your python interpreter knows! And the above link to section 3
-in the tutorial should get you sorted out...
-
-Also, it turns out that Behavior Driven Development (BDD) as implemented by
-RSpec and ["such"](http://nose2.readthedocs.org/en/latest/such_dsl.html) in
-nose2 make Jess and Mike cringe. How about you?
diff --git a/events/_posts/2014-04-11-hacking-sage.md b/events/_posts/2014-04-11-hacking-sage.md
deleted file mode 100644
index ea6a254..0000000
--- a/events/_posts/2014-04-11-hacking-sage.md
+++ /dev/null
@@ -1,30 +0,0 @@
----
-layout: post
-title: Doing some Hacking
-author: Dav Clark
----
-### Son and/or Daughter, we need to hack...
-
-[Some weeks
-ago](http://python.berkeley.edu/events/2014/02/28/getting-things-done-with-pandas.html),
-Chris Holdgraf and I said we wanted to do some hacking on pandas -- really easy
-stuff that will make everyone's life better. But, we didn't get around to it!
-
-Then, Will Stein came by and told us about this awesome [IPython extension to do
-Sage's convenience
-pre-parsing](http://git.sagemath.org/sage.git/tree/src/sage/misc/sage_extension.py).
-Sure, it's the kind of thing that will make some people cringe, but it goes some
-way towards complaints that python makes you type a lot of stuff.
-
-All we need to do is open a repo with a name (which might [be
-hard](http://martinfowler.com/bliki/TwoHardThings.html)!), put that code in
-there, et voilà, we've got this crazy new extension for everyone. And we'll need
-to factor out the other dependencies from Sage, but how hard can that be?
-
-### UPDATES: Total hijack by Thomas
-
-So, instead of all that, Thomas got us to join in the fun with the first round
-of the [Google Code Jam](https://code.google.com/codejam/). It was great fun
-(for us anyway), and you can still go back and practice on previous contests
-(though it's too late to join this year). There was much whiteboarding and
-coding about cookies and minesweeper.
diff --git a/events/_posts/2014-04-18-Save-the-planet-with-open-data.md b/events/_posts/2014-04-18-Save-the-planet-with-open-data.md
deleted file mode 100644
index 9b0efa1..0000000
--- a/events/_posts/2014-04-18-Save-the-planet-with-open-data.md
+++ /dev/null
@@ -1,25 +0,0 @@
----
-layout: post
-title: Save the Planet (with open code and data)
-author: You
----
-### BERC Cleanweb Hackathon 2.0
-
-Local do-gooders are organizing a hackathon *this weekend* to engage some great
-coders in coming up with solutions for opening access to utility data, water
-conservation, and "devices and prices." And if you don't fit into any of those
-categories, you're still eligible for the **grand prize**.
-
-You can [register here](http://bit.ly/BERCHackRegister). And we can certainly
-use more mentors, even if you can only come for the afternoon!
-
-### Towards Open Data with Python
-
-As you know, the "D" in D-Lab stands for "Social Science Data." But we still
-have some pretty ad hoc methods for organizing this data. The R folks are [way
-ahead of us](http://ropensci.org).
-
-So, I'd like to have some discussion about best practices for pythonistas to
-deal with open data - both in terms of libraries and in terms of archives
-(looking towards something like the rOpenSci project linked above). Let's
-do this!
diff --git a/events/_posts/2014-04-25-Remixing-parties.md b/events/_posts/2014-04-25-Remixing-parties.md
deleted file mode 100644
index 3a21c93..0000000
--- a/events/_posts/2014-04-25-Remixing-parties.md
+++ /dev/null
@@ -1,42 +0,0 @@
----
-layout: post
-title: Remixing Parties
-author: Dav Clark
----
-### Thanks for your help thinking about data!
-
-Last week we had a great brainstorming session about open data. The results of
-that session made their way into a ["concerns"
-file](https://github.com/infoEnergy/data/blob/master/CONCERNS.md). Also, check
-out the [winners of the hackathon](http://berkeley.cleanweb.co/winners-2014/) --
-you helped them!
-
-### Carry on in Dav's absence
-
-Tomorrow, I will be attending a [workshop on Buddhism and
-Science](http://buddhiststudies.berkeley.edu/events/). So, I won't make the
-Worker's party. However, the Python Workers' Party is not about *me*, so you are
-welcome to come hang out in the D-Lab from 4-6 anyway.
-
-In particular, there is a fancy Blum center tour around campus that will be
-hitting the convening room at 5:25 and 5:45. But, [the invite
-list](http://www.eventbrite.com/e/dil-innovation-crawl-tickets-11257757255?aff=es2)
-is now closed.
-
-But, you're special, because you already have a reason to be in that space!
-However, we should relocate the hacking out to the public space (the
-collaboratory) instead of the classroom ("convening room") that we normally use.
-
-### Jobs
-
-I met a fella looking to hire a python programmer for reciprocity labs.
-Reciprocity labs sounds AWESOME. It's like literate computing (think IPython
-notebooks) for corporate governance and risk management (i.e., good
-citizenship). Worried that companies like Google are spying (or just helping the
-NSA spy) on the nation? These are the guys that are engineering solutions that
-can help us be sure that DOESN'T happen.
-
-https://www.reciprocitylabs.com/careers
-
-Should we have a job board? Or point to one? Let me know or [submit a pull
-request](https://github.com/dlab-berkeley/python-berkeley)!
diff --git a/events/_posts/2014-04-25-roundup.md b/events/_posts/2014-04-25-roundup.md
deleted file mode 100644
index 7fa150c..0000000
--- a/events/_posts/2014-04-25-roundup.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-layout: post
-title: April 25th, 2014 roundup
-author: Paul Ivanov
----
-### While comrade Clark was away...
-
-We had a great meeting with 11 people attending!
-
-[Jess Hamrick](http://www.jesshamrick.com/) gave us an awesome overview of what
-it was like to attend her first [PyCon ](https://us.pycon.org/2014/). She told
-us about the overall format, some of the interesting talks she caught, but most
-importantly, how great it was to interact with the larger Python
-community! The [videos](http://pyvideo.org/category/50/pycon-us-2014) are
-already up. Here's [Asheesh Laroia's entertaining talk about Python
-Packaging](http://www.youtube.com/watch?v=eLPiPHr6TVI) which Jess recommended.
-
-First-time attendee Martin, who is brand new to Python, asked about reading 55
-thousand emails and starting to work with them. I ([Paul
-Ivanov](http://pirsquared.org/blog)) suggested using the email module Moshe
-suggested [OpenRefine.org](http://OpenRefine.org) as an option of munging the
-data, too.
-
-It was also [Matt Rocklin](http://matthewrocklin.com/blog/)'s first time at the
-Workers' Party. He gave us a quick spiel about
-[PyToolz](https://github.com/pytoolz/toolz) and
-[CyToolz](https://github.com/pytoolz/cytoolz), two modules which bring even more
-functional programming ideas to Python.
-
-Antony told us about
-[faulthandler](https://docs.python.org/dev/library/faulthandler.html), a Python
-3.3+ module which allows you print the stack trace and more information even if
-your process is dying. Unfortunately, it doesn't really work on Windows, which
-Antony is forced to use due to proprietary driver software for the microscope he
-uses in his research and we discussed a possible workaround.
-
-Next week, a bunch of us (Min, Thomas, Matt, and Paul) are giving talks at
-[PyData Silicon Valley](http://pydata.org/sv2014/schedule). If you haven't
-registered, you can use the code CU@PyData to get 20% off of registration.
diff --git a/events/_posts/2014-05-02-different-week.md b/events/_posts/2014-05-02-different-week.md
deleted file mode 100644
index 080609a..0000000
--- a/events/_posts/2014-05-02-different-week.md
+++ /dev/null
@@ -1,14 +0,0 @@
----
-layout: post
-title: A Different Week
-author: Dav Clark
----
-### Another week without Dav
-
-You're ALWAYS welcome in the D-Lab from 4-6pm on a Friday to dig into Python,
-and [last week's
-event](http://python.berkeley.edu/events/2014/04/25/roundup.html) was certainly
-evidence that *I* don't need to be there!
-
-But many of us will be attending PyData this weekend (and there's certainly
-still time to [sign up](http://pydata.org/sv2014/)).
diff --git a/events/_posts/2014-05-09-lots-to-do.md b/events/_posts/2014-05-09-lots-to-do.md
deleted file mode 100644
index 94a6e47..0000000
--- a/events/_posts/2014-05-09-lots-to-do.md
+++ /dev/null
@@ -1,35 +0,0 @@
----
-layout: post
-title: Lots to do!
-author: Dav Clark
----
-### Recap of PyData?
-
-PyData was great. It was a great reminder of how there's all these brilliant
-people out there working really hard to provide us with awesome free tools. You
-might check out the [schedule](http://pydata.org/sv2014/schedule/) and have a
-discussion around some of the more interesting topics.
-
-### Help a comrade out?
-
-The D-Lab's very own Laura Nelson would like some help multiplying large
-matrices (on the order of 400k x 20k). I don't know how to do this off the top
-of my head, but if you could help her out on-list or at the Party, you may get
-[points](http://python.berkeley.edu/points.html).
-
-### Neat part-time job
-
-I connected with the folks from the Art of Problem Solving at PyData. They want
-to pay you to give programming feedback to high school kids. [Check them
-out](http://www.artofproblemsolving.com/Company/jobs.php) (scroll all the way to
-the bottom for the "Graders" section).
-
-### Carry on in Dav's absence
-
-This brings me to my last point -- I will be busy doing something else *AGAIN*.
-But I promise, next week, I'll show up and be super helpful and fun. Matthew
-Brett and I have been kicking around the idea of having a meeting about
-packaging, which for you academics out there could be central to developing your
-own *CITED* code projects.
-
-**Pinkies out!** [...or not](http://cheezburger.com/6171894784).
diff --git a/events/_posts/2014-05-16-packaging-discussion.md b/events/_posts/2014-05-16-packaging-discussion.md
deleted file mode 100644
index 03cec1a..0000000
--- a/events/_posts/2014-05-16-packaging-discussion.md
+++ /dev/null
@@ -1,75 +0,0 @@
----
-layout: post
-title: Packaging, a discussion / diatribe
-author: Dav Clark
----
-### Packaging is great!
-
-I mean, packaging is *really* great. It means you can just install and run
-someone else's code and have good confidence it'll "just work." You can also
-share your work with others (or yourself) with a minimum of fuss.
-
-### Why is packaging so hard?
-
-The scientific python community has had a long and difficult path with packaging
--- largely because we build complex codes that use lots of "foreign" languages
-like fortran and C.
-
-Indeed, [this week's SF Python
-meetup](http://www.meetup.com/sfpython/events/178647452/) is actually discussing
-this very topic. We've got some scouts heading over, and we'll get a report
-back.
-
-### Pip
-
-Currently, there are two main solutions. The "standard" system endorsed by the
-python packaging team is pip, and pip is [now available by default in python
-3.4](https://docs.python.org/3/whatsnew/3.4.html#whatsnew-pep-453)
-
-If you want to get the straight dirt from the python packaging team, they try to
-keep [this](http://packaging.python.org/en/latest/) up to date.
-
-And, it turns out that Matthew Brett has graciously built all the scientific
-packages you're likely to want as wheels... I'm sure he'll tell us about it.
-
-### Conda
-
-The other solution, conda, is offered by Continuum analytics as part of their
-Anaconda distribution. You could install it in other python distributions, but
-(for now), it seems that few people do. Why are these guys putting energy into a
-separate effort? [Here's what Travis Oliphant (principal author of NumPy) has to
-say.](http://technicaldiscovery.blogspot.com/2013/12/why-i-promote-conda.html)
-
-Want to know more about this "cross-platform homebrew written in Python?" [Docs
-are online](http://conda.pydata.org/docs/index.html)
-
-### Other packaging projects
-
-Here's a [video](https://www.youtube.com/watch?v=CefoqK8Qlno) by Roman
-Shaposhnik who created the Apache BigTop project for packaging up the Hadoop
-ecosystem that may have some interesting parallels. And [the
-slides](http://www.slideshare.net/buildacloud/deploying-hadoop-based-bigdata-environments-roman-shaposhnik)
-to go with it.
-
-And for those of you old enough to remember, we've had [a
-presentation](/events/2013/12/11/coastal-ecosystem-simulation.html) here at the
-Workers' Party on [HashDist](http://hashdist.readthedocs.org/en/latest/) and
-friends (which, it turns out, is moving towards supporting conda).
-
-### Honorable mention
-
-Setting up a complete development environment is hard. A team of us here on
-campus are working on the Berkeley Common Environment (BCE) to facilitate
-teaching and research using a standardized VM. Maybe by Friday, I'll have
-cleaned up the documentation at [this link](http://collaboratool.berkeley.edu).
-
-### And, I'm back!
-
-I know I've missed a lot of parties, but I hope you welcome me back. I'm hoping
-to pull in some folks from the broader community that I met in my travels... I'm
-looking forwards to a great summer of Python!
-
-### Updates
-
- - [Notebook from Matthew](https://github.com/matthew-brett/sketch-books/blob/master/Fun%20with%20wheels.ipynb)
- - [Slides from Thomas](http://www.slideshare.net/takluyver/conda-alternative-packaging-for-scientific-applications)
diff --git a/events/_posts/2014-05-23-training-the-next-generation.md b/events/_posts/2014-05-23-training-the-next-generation.md
deleted file mode 100644
index 37627f3..0000000
--- a/events/_posts/2014-05-23-training-the-next-generation.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-layout: post
-title: Training the next generation of Pythonistas!
-author: Dav Clark
----
-
-This week, I'll get your input and kick the tires on my [Python Intensive
-curriculum](https://github.com/dlab-berkeley/python-fundamentals) that [I'll be
-teaching next week in the
-D-Lab](http://dlab.berkeley.edu/training/programming-fundamentals) (preceded by
-a ["what is programming?"](http://dlab.berkeley.edu/training/python-intensive-0)
-workshop).
-
-I'd love to get your input, but *even more* I'd love it if **you can assist
-teaching!** I especially need someone for **Tuesday: 10am-noon for programming
-FUNdamentals** and **1-4pm for the Python Intensive.** But we can also use folks
-Wed-Fri from 1-4pm.
-
-### Updating the Site
-
-Note that I updated [last weeks event](/events/2014/05/16/packaging-discussion.html) with links to the presentations (and the
-links to ipynb files are automatically munged w/ nbviewer links via some
-[moderately brittle javascript](/assets/nbview.js)).
-
-**Anyone** can update the site via a pull request on GitHub! You'll get points, and
-can compete with some of these [heavy hitters](/points).
-
-That's right - the Python Workers' Party has it's own digital currency, and you
-can even **mine your own points** using pull requests (and *ask* if you don't
-know how!). But please use this power responsibly.
-
-### Discussion
-
-We have a *lot* of strong opinions. We had a lively discussion around how using
-VMs might save instructional time, but reduce the usage of python in the long
-run.
-
-Teaching unit testing is hard. None of us know how to get people to write or
-even run tests without some sort of authority. I've heard tales of such things,
-though.
-
-We're thinking it'd be good to have some motivation. Here are some example
-papers and videos:
-
- - [Code and Data](http://faculty.chicagobooth.edu/jesse.shapiro/research/CodeAndData.pdf)
- - ADD YOUR OWN!
diff --git a/events/_posts/2014-05-30-new-members.md b/events/_posts/2014-05-30-new-members.md
deleted file mode 100644
index 0acca97..0000000
--- a/events/_posts/2014-05-30-new-members.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-layout: post
-title: Welcome the new members!
-author: Dav Clark
----
-### We're finishing up another training
-
-The demand for Python training keeps going up! We actually had trouble fitting
-this training into the D-Lab, and we've got a lot of motivated students (not all
-university students, though!). Interested in welcoming the new Pythonistas? Come
-to the Python Workers' Party and say hi! Help your colleagues get going on an
-exciting new project, or show them what you've been working on.
-
-If you bring snacks, you **get points**.
-
-### Summer plans?
-
-We'll also discuss plans for the summer, and point out that a sister group, [The
-Hacker Within](http://thehackerwithin.github.io/berkeley/), has also been going
-strong this semester. Who knew? We should totally collaborate with these folks!
diff --git a/events/_posts/2014-06-06-no-meeting.md b/events/_posts/2014-06-06-no-meeting.md
deleted file mode 100644
index eab42d0..0000000
--- a/events/_posts/2014-06-06-no-meeting.md
+++ /dev/null
@@ -1,35 +0,0 @@
----
-layout: post
-title: No Meeting! But lots of other stuff
-author: Dav Clark
----
-### Go to a concert!
-
-I will be going to [this
-concert](http://www.burningriverbaroque.org/concerts/index.html) on Friday, and
-I encourage you to do the same!
-
-And since the D-Lab is on reduced hours now (M-Th 1-3pm), it seems right to cancel the Workers' Party this week...
-
-### But despair not!
-
-Tomorrow (Wednesday), you can join The Hacker Within at 4pm. It's been pretty
-chill since the summer hit, and they like you! And need your help / want to help
-you! They have a [webpage on GitHub
-pages](http://thehackerwithin.github.io/berkeley/about.html), *just like us*.
-
-I recommend hatching a plot to overthrow my despotic rule.
-
-### And some open science?
-
-If you fancy an evening out with some transparent and open science types, please
-join us here:
-
-> "Data Science Meets Social Science"
-> Thursday, June 5 | 6.00pm - 7.30pm
-> David Brower Center
-> 2150 Allston Way | Berkeley, CA
-
-This event *also* has [a
-website](http://cega.berkeley.edu/events/data-science-meets-social-science/)
-(but not on GitHub).
diff --git a/events/_posts/2014-06-17-summer-schedule.md b/events/_posts/2014-06-17-summer-schedule.md
deleted file mode 100644
index 81872c7..0000000
--- a/events/_posts/2014-06-17-summer-schedule.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-layout: post
-title: Meetings this Summer
-author: Dav Clark
----
-### For the rest of the Summer
-
-This summer we'll switch to every other week. In particular, we'll **skip June
-17!**
-
-But feel free to drop us a line on the mailing list, or come in to the D-Lab!
diff --git a/events/_posts/2014-06-27-before-scipy.md b/events/_posts/2014-06-27-before-scipy.md
deleted file mode 100644
index 219a57f..0000000
--- a/events/_posts/2014-06-27-before-scipy.md
+++ /dev/null
@@ -1,17 +0,0 @@
----
-layout: post
-title: Last meeting before SciPy
-author: Dav Clark
----
-### Some of us are going to SciPy
-
-So, next meeting might be a good time to touch base on what we'll do at SciPy!
-In particular, if folks want to do a run-through of what they'll be presenting,
-this will be a great time. If you don't know what SciPy is, there's [a
-website](https://conference.scipy.org/scipy2014/).
-
-We'll also have at least one new visitor, so plenty to do! Look forward to
-seeing you there!
-
-For those of you that want it, here's a link to [the current build of
-BCE](https://berkeley.box.com/s/ybysi4qcv75vw84tjl5h).
diff --git a/events/_posts/2014-07-25-after-scipy.md b/events/_posts/2014-07-25-after-scipy.md
deleted file mode 100644
index 1eecb2f..0000000
--- a/events/_posts/2014-07-25-after-scipy.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-layout: post
-title: First meeting after SciPy 2014
-author: Raymond Yee
----
-### What did we learn from SciPy?
-
-It'd be great to reflect on what we learned from SciPy this year.
-
diff --git a/events/_posts/2014-08-08-real-data-science.md b/events/_posts/2014-08-08-real-data-science.md
deleted file mode 100644
index 0100802..0000000
--- a/events/_posts/2014-08-08-real-data-science.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-layout: post
-title: Real Data Science!
-author: Dav Clark
----
-### Dealing with sort-of-big data
-
-Last meeting I (Dav) was talking smack about [Pandas](http://pandas.pydata.org)
-while singing the praises of
-[Blaze](http://blaze.pydata.org/docs/latest/index.html). Fortunately, the
-eminently reasonable Thomas provided counterpoint on the virtues of the
-admittedly excellent pandas.
-
-But all of that is about to get cleared up by one of the current developers of
-Blaze:
-
-> Blaze is a new project that provides a user interface similar to NumPy and
-> Pandas but hooks out to a variety of data and computation backends like HDF5,
-> SQL, and Spark. By separating the user interface from the computation we
-> enable users to easily experiment with different systems based on their needs.
-> Blaze is experimental and so input both on new backends and on usability is
-> welcome. For a simple usage example see the [README on
-> GitHub](https://github.com/ContinuumIO/blaze/blob/master/README.md)
-
-Also, their logo (for now) appears to be a tesseract, which is [even
-cooler](http://en.wikipedia.org/wiki/A_Wrinkle_in_Time) than the mathematicians
-would lead you to believe. Perhaps the same is true of Blaze?
-
-### Also, devops
-
-We've just minted version 0.1 of [BCE](http://collaboratool.berkeley.edu) (which
-might stand for the "Berkeley Common Environment"). As is often the case, you
-fine people are amongst the first to know! The goal is to provide a standard
-"data science" VM for campus, serving both as a standardized learning
-environment, and also a standard reference environment where researchers can
-ensure their instructions work in *at least* one place!
-
-Since I've been busy pulling down packages, Aaron from Berkeley Research
-Computing (BRC) offered to explain to me (in front of all of you) how he uses a
-caching proxy server to speed up repetitive installs, including his efforts to
-make this server highly portable with [Docker](http://docker.io). You may not
-have heard of Docker, but trust me, they're six ways to crazy about it in the
-Valley. Er, South Bay.
-
-### Help us teach!
-
-We're organizing the next D-Lab training [here on this very
-website](trainings/2014-08-berkeley-dlab.html)! There, you'll see that the
-inimitable Matt Davis has already submitted a [pull
-request](https://github.com/dlab-berkeley/python-berkeley/pull/27) to indicate
-his availability. Who will be next? How many [points](/points.html) will they
-get?
-
-Only time will tell. (Your questions will be answered on Friday, or just shoot
-me an email.)
diff --git a/events/_posts/2014-08-22-install-party.md b/events/_posts/2014-08-22-install-party.md
deleted file mode 100644
index 18d8da5..0000000
--- a/events/_posts/2014-08-22-install-party.md
+++ /dev/null
@@ -1,22 +0,0 @@
----
-layout: post
-title: Installation party!
-author: Dav Clark
----
-### Welcome the new Pythonistas
-
-We've got a group of new Python programmers who've been working hard all week.
-Please show up, share your knowledge, and help them orient on the path that
-lets them dig into their research!
-
-Perhaps now is also a good time to have a look at our own [learning
-resources](learning_resources.html) and add your wisdom there as well?
-
-### Coming up: Xray
-
-Coming up in two weeks, we'll continue with our exploration of high performance
-numberical data structures with a presentation on [Xray](http://xray.readthedocs.org/).
-
-And just in case I've deprived you of some of the serendipitous fun you might
-have found if you googled "python xray", check out [these
-pythons](https://www.google.com/search?q=python+xray&tbm=isch)!
diff --git a/events/_posts/2014-09-05-Xray.md b/events/_posts/2014-09-05-Xray.md
deleted file mode 100644
index f359f8c..0000000
--- a/events/_posts/2014-09-05-Xray.md
+++ /dev/null
@@ -1,25 +0,0 @@
----
-layout: post
-title: Xray!
-author: Dav Clark
----
-### Efficient multidimensional arrays?
-
-This week, we'll continue with our exploration of high performance
-numberical data structures with a presentation on [Xray](http://xray.readthedocs.org/).
-
-And just in case you didn't check it out last week, I promise [these python xray
-images](https://www.google.com/search?q=python+xray&tbm=isch) are worth a click!
-
-### Other (free) stuff up the hill
-
-Lawrence Berkeley Labs has published the [near-final agenda for
-LabTech](http://go.lbl.gov/labtech) and there's still time to register whether
-you want to attend just some or all of the day's activities on Sept 10th.
-
-Highlights include morning mini-classes, including 3 one hour sessions on
-getting the most out of Python in scientific computing, a 3 hour Arduino basics
-class, and, new this year, Intro and Advanced LabVIEW.
-
-The (free) Lunch and Keynote starts at noon, with an overview of what's new (and
-old!) from IT this year.
diff --git a/events/_posts/2014-09-19-new-structure.md b/events/_posts/2014-09-19-new-structure.md
deleted file mode 100644
index b6e7fb9..0000000
--- a/events/_posts/2014-09-19-new-structure.md
+++ /dev/null
@@ -1,21 +0,0 @@
----
-layout: post
-title: New Meeting Structure?
-author: Dav Clark
----
-### Two kinds of meeting
-
-I'm proposing that we shift to the following format (which is also reflected now
-on the D-Lab website):
-
-**1st Friday of each month:** "New and Exciting" topic. The talks we've had recently
-about Blaze and Xray are good examples of that format.
-
-**3rd Friday of each month:** "Beginners Mind". These weeks, folks are encouraged to
-bring their own problems. Presentations should be accessible to folks who are
-just getting started, and could focus on issues like project structure, etc.
-
-Lightning talks are always welcome.
-
-I'm also proposing that we start "for real" at 4:30. This week, I'm happy to
-show up at 4, and anyone else is welcome to do so as well.
diff --git a/events/_posts/2014-09-26-commoncrawl-big-data.md b/events/_posts/2014-09-26-commoncrawl-big-data.md
deleted file mode 100644
index 8dcbda6..0000000
--- a/events/_posts/2014-09-26-commoncrawl-big-data.md
+++ /dev/null
@@ -1,32 +0,0 @@
----
-layout: post
-title: Teaching Python for Big Open Data
-author: Raymond Yee
----
-This coming **Friday -- 2014.09.26 4:30-5:30pm** (during the off-week for the
-Python Worker's Party), Raymond Yee (former lecturer at the [School of
-Information](http://ischool.berkeley.edu)), along with Lisa Green and Stephen
-Merity (of [CommonCrawl.org](http://commoncrawl.org)) will lead a discussion on
-the topic of teaching Python for big data. We (Stephen, Raymond, and Lisa) have
-been developing training materials for computing on web crawl data as a vehicle
-for teaching both [web science](http://en.wikipedia.org/wiki/Web_science) and
-techniques for handling large amounts of data.
-
-We're actively working on the training materials and would love to get
-feedback on our work in progress. Some topics we hope to sketch out this
-Friday are:
-
-* What is a web crawl and what exactly is in the CommonCrawl data sets and how
- the data is structured (housed in AWS S3)?
-* How Python programmers might be able to process this data with mrjob (Stephen
- has already developed some materials on this front:
- [cc-mrjob](https://github.com/commoncrawl/cc-mrjob))
-* How we might use a combination of Python multiprocessing and/or IPython
- Parallel + docker + AWS + the IPython notebook to do some exploratory data
- analysis.
-* Use [BCE](http://collaboratool.berkeley.edu/) for some computations?
-* Figure out how to work in [Apache Spark](https://spark.apache.org/)?
-
-Everyone is welcome!
-
-[Google hangout on air](https://www.youtube.com/watch?v=zbZ6WA7cMkM)
diff --git a/events/_posts/2014-10-03-blinky-lights.md b/events/_posts/2014-10-03-blinky-lights.md
deleted file mode 100644
index b7fddb3..0000000
--- a/events/_posts/2014-10-03-blinky-lights.md
+++ /dev/null
@@ -1,10 +0,0 @@
----
-layout: post
-title: Blinky Lights
-author: Dav Clark
----
-### Blinky Lights
-
-Dav is very busy, but is still presenting. It'll be something like
-[this](https://learn.adafruit.com/raspberry-pi-spectrum-analyzer-display-on-rgb-led-strip/),
-but less musical and more IPython. Except the IPython part isn't written yet.
diff --git a/events/_posts/2014-10-17-geocoding.md b/events/_posts/2014-10-17-geocoding.md
deleted file mode 100644
index c8e0f20..0000000
--- a/events/_posts/2014-10-17-geocoding.md
+++ /dev/null
@@ -1,14 +0,0 @@
----
-layout: post
-title: Getting Started with Geo-coding
-author: Dav Clark
----
-### Geocoding with Python
-
-Maybe you want to find something. You have an address, but where is that? Sure,
-you could use google maps. But what if you wanted to do it with a python script?
-
-Come for this *Beginner's Mind* session to find out. Or, learn whatever else
-you're interested in!
-
-Google Doc available at [http://tinyurl.com/k5r4ume](http://tinyurl.com/k5r4ume).
diff --git a/events/_posts/2014-11-07-reproducible-science-dexy-docker.md b/events/_posts/2014-11-07-reproducible-science-dexy-docker.md
deleted file mode 100644
index 53c1b5c..0000000
--- a/events/_posts/2014-11-07-reproducible-science-dexy-docker.md
+++ /dev/null
@@ -1,26 +0,0 @@
----
-layout: post
-title: Reproducible Science with Dexy and Docker
-author: Dav Clark
----
-### Documenting complex scientific workflows
-
-@ananelson will give us an overview of using [Dexy](http://dexy.it) with
-[Docker](http://docker.io). Ana is the primary author of Dexy, so it doesn't get
-any more authoritative than this!
-
-If there's interest, we may discuss some of the recent moves towards using the
-[Berkeley Common Environment](http://collaboratool.berkeley.edu/using-bce.html)
-with Docker.
-
-### (Updates) Some links and stuff
-
-We're currently keeping track of links and things on [this etherpad](https://etherpad.mozilla.org/pywork-dexy-docker).
-
-Note that Dexy has a [great tutorial](http://dexy.it/docs/getting-started.html).
-
-There is a (currently somewhat out-of-date) [Docker example on
-github](https://github.com/dexy/repro-demo).
-
-Follow [Ana](https://twitter.com/ananelson) and [Dexy](https://twitter.com/dexyit)
-on Twitter.
diff --git a/events/_posts/2014-11-21-tabular-data-hdf5-or-sql.md b/events/_posts/2014-11-21-tabular-data-hdf5-or-sql.md
deleted file mode 100644
index 54dfc7f..0000000
--- a/events/_posts/2014-11-21-tabular-data-hdf5-or-sql.md
+++ /dev/null
@@ -1,25 +0,0 @@
----
-layout: post
-title: Tabular Data Smackdown - HDF5 or SQL?
-author: Dav Clark
----
-### Tabular data?
-
-Tabular data shows up all the time. You've probably seen it in spreadsheets, but
-if you need more speed, data security, or advanced features, you might be
-happier using something like HDF5 or SQL.
-
-### So, what to use?
-
-It turns out that different tools are good for different jobs. @katyhuff, the
-organizer of [the Berkeley chapter of the Hacker
-Within](http://thehackerwithin.github.io/berkeley/) will take us through some
-examples of when you might use a relational database (using
-[sqlite](https://docs.python.org/3/library/sqlite3.html)) vs. an efficient
-tabular storage format (using [pytables](http://www.pytables.org/)).
-
-If there's time, she'll take us through some examples of using pytables.
-Tutorial material is available [here](https://github.com/katyhuff/db-wkshp).
-
-Bring your questions and data challenges, and let's see if we can solve *your*
-problems.
diff --git a/events/_posts/2014-12-05-rpy2-and-ropensci.md b/events/_posts/2014-12-05-rpy2-and-ropensci.md
deleted file mode 100644
index fa8276f..0000000
--- a/events/_posts/2014-12-05-rpy2-and-ropensci.md
+++ /dev/null
@@ -1,32 +0,0 @@
----
-layout: post
-title: R from Python with rpy2 - featuring rOpenSci!
-author: Dav Clark
----
-Our last formal meeting of the year!
-
-### So you still want to use some R
-
-Sure, we all love Python, but sometimes we need some fancy stats or viz in R
-that will just *get your job done*. No worries,
-[rpy2](http://rpy.sourceforge.net/) has your back!
-
-As a demonstration, we'll show how you can use the awesome open and reproducible
-science libraries from the [rOpenSci](http://ropensci.org) project from an
-IPython notebook.
-
-### Can it possibly be that easy?!?
-
-Yes! Unless, as per usual, you are on windows. If you're interested, I'll talk
-a bit about challenges that remain and what you might do to help.
-
-### Fancy teaching Python in the D-Lab Jan 12-16?
-
-It's a great experience, and we'll even pay you (a bit)! Please register your
-interest at [this GitHub
-issue](https://github.com/dlab-berkeley/python-berkeley/issues/37) if you're
-interested!
-
-### The Code
-
-Get it [here](https://github.com/davclark/rpy2-notebooks).
diff --git a/events/archive.html b/events/archive.html
deleted file mode 100644
index fed0e61..0000000
--- a/events/archive.html
+++ /dev/null
@@ -1,9 +0,0 @@
----
-layout: page
-header : Post Archive
-group: navigation
----
-
-
-{% assign posts_collate = site.posts %}
-{% include JB/posts_collate %}
diff --git a/events/assets/2014-01-24-PWP-rally-topics.jpg b/events/assets/2014-01-24-PWP-rally-topics.jpg
deleted file mode 100644
index 8fe5a56..0000000
Binary files a/events/assets/2014-01-24-PWP-rally-topics.jpg and /dev/null differ
diff --git a/events/assets/PWP.jpg b/events/assets/PWP.jpg
deleted file mode 100644
index 610c8d3..0000000
Binary files a/events/assets/PWP.jpg and /dev/null differ
diff --git a/events/assets/newbie_nugget_Oct2_2013.html b/events/assets/newbie_nugget_Oct2_2013.html
deleted file mode 100644
index 52b5c43..0000000
--- a/events/assets/newbie_nugget_Oct2_2013.html
+++ /dev/null
@@ -1,2007 +0,0 @@
-
-
-
-
-[]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Py4Science
-
Newbie Nuggets
-
Oct 2, 2013
-
Each week we start the p4science meeting with a quick ipython notebook providing newer users with python examples that they can add to their collection of tools, and possibly show them existing functionality in libraries that they may not have been exposed to in their work.
-
These are meant to be quick stand-alone examples, hopefully with a meaningful application.
-
-
-
if __name__ == '__main__'
-
From the Python Docs :
-
__main__ top level script environment
-
This module represents the (otherwise anonymous) scope in which the interpreter’s main program executes — commands read either from standard input, from a script file, or from an interactive prompt. It is this environment in which the idiomatic “conditional script” stanza causes a script to run:
-
hmmmm....
-
Decoded
-
Given a python file <filename>.py. Code contained under if __name__ == '__main__':
-
-will only run when called as a script
-will not run if imported as a module.
-
-
Lets look at a simple example:
-
-
-
tempfile
-
We need to generate a few temporary files for this example. So lets look at an efficient method for handling tempfiles.
-
tempfile module ref .
-
tempfile is a wonderful library to create a temporary file or directory. On all supported platforms it will securely create a temporary directory (eg in /var/tmp or in /tmp on unix-like systems)
-
The creator is responsible for cleaning up the directory.
-
We need this below, as we will be generating two .py files. It doesnt matter where they are located, as long as we know where they are and can read and write them.
-
First I just want to generate a temporary directory to hold our files.
-
-
-
-
-
-
-
-
-
-
-
-/var/folders/0b/vldk0yzn4w9cswl86tr0xyhc0000gp/T/tmpU8B6Uv
-
-
-
-
-
-
-
-
-
-
-
First I want to make a script that just imports another module. It does nothing itself, just runs the applicable code when it loads the module.
-
the file module_one.py should contain only one line
-
import module_two
-
-
-
-
Ipython magic (a small aside)
-
If we just wanted to create the file locally (in the same directory as this notebook), we could use the %%file magic. So in one cell you could put
-
%%file module_one.py
-
-import module_two
-
And it would write to a file named module_one.py . This may be easier than using a tempfile interface, use whichever you prefer.
-
-
-
-
-
-
-
-
-
-
-
-Writing file_one
-
-
-
-
-
-
-
-
-
-
-
module_two.py
-
This module has code
-
-outside of the if __name__ == '__main__': block.
-inside the if __name__ == '__main__': block.
-
-
-
-
-
-
-
-
-
-
-
- Out[4]:
-
-
-
-
-['module_one.py', 'module_two.py']
-
-
-
-
-
-
-
-
-
-
-
Order of operation, limit of scope
-
Now lets run the files and see what they return.
-
-
-
-
-
-
-
-
-
-
-
-I am outside __main__ , my name is: module_two
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-I am outside __main__ , my name is: __main__
-Inside if __name__ == __main__ , my name is: __main__
-
-
-
-
-
-
-
-
-
-
-
Discussion
-
Running module_one.py
-
When module_one.py is run, it just imports module_two.py:
-
python module_one.py
-
printing this:
-
I am outside __main__ , my name is: module_two
-
We can now see the order in which the script is run.
-
Only items outside of the if __name__ == "__main__": block get executed (though in this case there is no if __name__ == '__main__': block), and __name__ points to the module imported, namely module_two
-
-
-
Running module_two.py
-
When module_two.py is run, it
-
-first runs the code outside of if __name__ == '__main__':
-
-
Then
-
-runs the code inside if __name__ == '__main__':
-
-
so the output is:
-
I am outside __main__ , my name is: __main__
-Inside if __name__ == __main__ , my name is: __main__
-
-
-
python flags
-
A kind suggestion during our meeting was to use the -m flag when calling python to run a library module as a script.
-
-m mod : run library module as a script (terminates option list)
-
for example
-
python -m IPython
- python -m <pkg>.tests
-
Important NOTE in Python 2.6 (and only 2.6) you cannot run package as a script
-
-
-
Emacs Note
-
integrated with emacs, did not work link emacs to ipython
-
One of the users has a emacs/ipython setup that allows her to run scripts from her editor. This had an odd peculiarity. It would not run the if __name__ == '__main__': block.
-
print "hi"
-print __name__
-
-if __name__ == '__main__':
- print 'there'
-
-print "hello"
-
and thus resulted in this output
-
hi
-__main__
-hello
-
it is a peculiarity to this setup.
-
-
-
Why oh why would I do this??
-
Adding a if __name__ == '__main__': to your script can have a few useful behaviors.
-
-
-
-
diff --git a/events/assets/newbie_nugget_Sept18_2013.html b/events/assets/newbie_nugget_Sept18_2013.html
deleted file mode 100644
index fb48016..0000000
--- a/events/assets/newbie_nugget_Sept18_2013.html
+++ /dev/null
@@ -1,2083 +0,0 @@
-
-
-
-
-NewbieNugget_2013_09_10
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Newbie Nuggets
-
Each week we plan to start the p4science meeting with a quick ipython notebook providing newer users with python examples that they can add to their collection of tools, and possibly show them existing functionality in libraries that they may not have been exposed to in their work.
-
These are meant to be quick stand-alone examples, hopefully with a meaningful application.
-
-
-
glob
-
If you are familiar with shell commands for listing the contents of a directory
-
(In this case it listed the contents of my ipython notebooks directory, your results may be very different)
-
-
-
-
-
-
-
-
-
-
-
-PandasPythonEssentials.ipynb newbie_nugget_Sept18_2013.ipynb
-Untitled1.ipynb twitterstuff.ipynb
-
-
-
-
-
-
-
-
-
-
-
a glob pattern can help you narrow down your results, by using a wildcard to refer to a pattern
-
The * wildcard allows you to match anything (before or after) the wildcard.
-
This is less powerful than using a regular expression , but can be very useful for narrowing your search results.
-
-
-
-
-
-
-
-
-
-
-
-newbie_nugget_Sept18_2013.ipynb
-
-
-
-
-
-
-
-
-
-
-
Python has a built in library for this type of matching on unix-like systems, which alows me to code this type of behavior.
-
Once I import the glob module, I can use it to list the contents of my local directory, similar to
-
ls *
-
-
-
-
-
-
-
-
-
-
-
-
-['newbie_nugget_Sept18_2013.ipynb', 'PandasPythonEssentials.ipynb', 'twitterstuff.ipynb', 'Untitled1.ipynb']
-
-
-
-
-
-
-
-
-
-
-
If I want to narrow my search to items that have the term twitter in them, I just use the wildcards with glob. This is the same as
-
ls *twitter*
-
-
-
-
-
-
-
-
-
-
-
-['twitterstuff.ipynb']
-
-
-
-
-
-
-
-
-
-
-
There are two main functions in the glob library
-
-glob(searchstr) : return possibly empty unordered list of pathnames matching the searchstr
-iglob(searchstr) : return an iterator which yields the same values as glob
-
-
You will often see people load the function from the library (example below)
-
Also note that while in many cases the results in the returned list will look ordered, this is NOT necessarily the case. Note in the docstring above
-
return possibly empty unordered list of pathnames
-
-
-
-
-
-
-
-
-
-
-
-['newbie_nugget_Sept18_2013.ipynb']
-
-
-
-
-
-
-
-
-
-
-
List Comprehension
-
syntactic construct for creating a list based on an existing collection
-
For examples, if I have a list of integers, I can create a for loop to create a new collection of their squares.
-
-
-
-
-
-
-
-
-
-
-
-[1, 4, 9, 16, 25]
-
-
-
-
-
-
-
-
-
-
-
This can be easily, and clearly created using a list comprehension
-
-
-
-
-
-
-
-
-
-
-
-[1, 4, 9, 16, 25]
-
-
-
-
-
-
-
-
-
-
-
This can be useful for many simple things you want to do
-
-
-
-
-
-
-
-
-
-
-
-
-['n', 'e', 'w', 'b', 'i', 'e', '_', 'n', 'u', 'g', 'g', 'e', 't', '_', 'S', 'e', 'p', 't', '1', '8', '_', '2', '0', '1', '3']
-
-
-
-
-
-
-
-
-
-
-
A list comprehension can simplify this code, expand functionality, and is still readable.
-
-
-
-
-
-
-
-
-
-
-
-['N', 'E', 'W', 'B', 'I', 'E', '_', 'N', 'U', 'G', 'G', 'E', 'T', '_', 'S', 'E', 'P', 'T', '1', '8', '_', '2', '0', '1', '3']
-
-
-
-
-
-
-
-
-
-
-
You can use the same type of comprehension to generate a dictionary, and this can be a quick and useful way to create a new dictionary with the keys and values swapped.
-
-
-
-
-
-
-
-
-
-
-
-{1: 'a', 2: 'b', 3: 'c', 4: 'd'}
-
-
-
-
-
-
-
-
-
-
-
diff --git a/events/assets/teaching-whiteboard.jpg b/events/assets/teaching-whiteboard.jpg
deleted file mode 100644
index 73c94e1..0000000
Binary files a/events/assets/teaching-whiteboard.jpg and /dev/null differ
diff --git a/events/assets/text_editors.png b/events/assets/text_editors.png
deleted file mode 100644
index 2991b22..0000000
Binary files a/events/assets/text_editors.png and /dev/null differ
diff --git a/events/index.md b/events/index.md
deleted file mode 100644
index 51760ad..0000000
--- a/events/index.md
+++ /dev/null
@@ -1,17 +0,0 @@
----
-layout: page
----
-
-{% for post in site.categories.events %}
- {{ DIVIDER }}
- *{{ post.date | date_to_long_string}}*
-
-## [{{ post.title }}]({{ site.url }}/learnpython{{ post.url }})
-
- {{ post.content }}
-
- {% assign DIVIDER = "---" %}
-{% endfor %}
-
-
diff --git a/favicon.ico b/favicon.ico
deleted file mode 100644
index c9efc58..0000000
Binary files a/favicon.ico and /dev/null differ
diff --git a/feed.xml b/feed.xml
deleted file mode 100644
index a6628bd..0000000
--- a/feed.xml
+++ /dev/null
@@ -1,30 +0,0 @@
----
-layout: null
----
-
-
-
- {{ site.title | xml_escape }}
- {{ site.description | xml_escape }}
- {{ site.url }}{{ site.baseurl }}/
-
- {{ site.time | date_to_rfc822 }}
- {{ site.time | date_to_rfc822 }}
- Jekyll v{{ jekyll.version }}
- {% for post in site.posts limit:10 %}
- -
-
{{ post.title | xml_escape }}
- {{ post.content | xml_escape }}
- {{ post.date | date_to_rfc822 }}
- {{ post.url | prepend: site.baseurl | prepend: site.url }}
- {{ post.url | prepend: site.baseurl | prepend: site.url }}
- {% for tag in post.tags %}
- {{ tag | xml_escape }}
- {% endfor %}
- {% for cat in post.categories %}
- {{ cat | xml_escape }}
- {% endfor %}
-
- {% endfor %}
-
-
diff --git a/index.md b/index.md
deleted file mode 100644
index 6bbe479..0000000
--- a/index.md
+++ /dev/null
@@ -1,23 +0,0 @@
----
-layout: frontpage
-title: Home
----
-
-## Python Practice
-
-Python Practice is a working group at UC Berkeley, sponsored by the D-Lab. We hold informal biweekly meetings about special topics of the [Python programming language](https://python.org/). We focus especially in social science applications, data science, and visualization.
-
-This group is perfect for those who have some experience with Python, as we do expect some programming foundation. Much of the learning will be done in pairs or as a team. Everyone is welcome to attend any or all meetings throughout the semester.
-
-**When:** Mondays from 4-5:30, through 4/24.
-
-**Where:** [D-Lab Collaboratory](http://dlab.berkeley.edu/space), 356 Barrows Hall.
-
-Please email the [D-Lab front desk](mailto:dlab-frontdesk@berkeley.edu) for more information. You can also [subscribe here](https://groups.google.com/a/lists.berkeley.edu/d/forum/pythonpractice) to our mailing list!
-
-* Here are [beginner resources](/learn) for new learners!
-* Here are the links to our [past meetings](/past). These past meeting posts have our class resources for each week, in the form of Jupyter notebooks.
-* Here are other resources for [furthering your Python skills](/resources). If another resource was useful, [let us know!](mailto:dlab-frontdesk@berkeley.edu).
-* Here are other [UC Berkeley groups & events](/community) that focus on Python.
-
-The [D-Lab](http://dlab.berkeley.edu) also offers many other free computing resources for academics, including workshops and 1-on-1 consulting.
diff --git a/notebooks/Yelp_API_2.ipynb b/notebooks/Yelp_API_2.ipynb
deleted file mode 100644
index 03fbf1b..0000000
--- a/notebooks/Yelp_API_2.ipynb
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "code",
- "execution_count": 1,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "state_capitals={\"Washington\":\"Olympia\",\"Oregon\":\"Salem\",\\\n",
- " \"California\":\"Sacramento\",\"Ohio\":\"Columbus\",\\\n",
- " \"Nebraska\":\"Lincoln\",\"Colorado\":\"Denver\",\\\n",
- " \"Michigan\":\"Lansing\",\"Massachusetts\":\"Boston\",\\\n",
- " \"Florida\":\"Tallahassee\",\"Texas\":\"Austin\",\\\n",
- " \"Oklahoma\":\"Oklahoma City\",\"Hawaii\":\"Honolulu\",\\\n",
- " \"Alaska\":\"Juneau\",\"Utah\":\"Salt Lake City\",\\\n",
- " \"New Mexico\":\"Santa Fe\",\"North Dakota\":\"Bismarck\",\\\n",
- " \"South Dakota\":\"Pierre\",\"West Virginia\":\"Charleston\",\\\n",
- " \"Virginia\":\"Richmond\",\"New Jersey\":\"Trenton\",\\\n",
- " \"Minnesota\":\"Saint Paul\",\"Illinois\":\"Springfield\",\\\n",
- " \"Indiana\":\"Indianapolis\",\"Kentucky\":\"Frankfort\",\\\n",
- " \"Tennessee\":\"Nashville\",\"Georgia\":\"Atlanta\",\\\n",
- " \"Alabama\":\"Montgomery\",\"Mississippi\":\"Jackson\",\\\n",
- " \"North Carolina\":\"Raleigh\",\"South Carolina\":\"Columbia\",\\\n",
- " \"Maine\":\"Augusta\",\"Vermont\":\"Montpelier\",\\\n",
- " \"New Hampshire\":\"Concord\",\"Connecticut\":\"Hartford\",\\\n",
- " \"Rhode Island\":\"Providence\",\"Wyoming\":\"Cheyenne\",\\\n",
- " \"Montana\":\"Helena\",\"Kansas\":\"Topeka\",\\\n",
- " \"Iowa\":\"Des Moines\",\"Pennsylvania\":\"Harrisburg\",\\\n",
- " \"Maryland\":\"Annapolis\",\"Missouri\":\"Jefferson City\",\\\n",
- " \"Arizona\":\"Phoenix\",\"Nevada\":\"Carson City\",\\\n",
- " \"New York\":\"Albany\",\"Wisconsin\":\"Madison\",\\\n",
- " \"Delaware\":\"Dover\",\"Idaho\":\"Boise\",\\\n",
- " \"Arkansas\":\"Little Rock\",\"Louisiana\":\"Baton Rouge\"}"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": []
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.4.5"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 0
-}
diff --git a/notebooks/api_intro.ipynb b/notebooks/api_intro.ipynb
deleted file mode 100644
index c26129d..0000000
--- a/notebooks/api_intro.ipynb
+++ /dev/null
@@ -1,280 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# Introduction to APIs"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Today, we will begin our project dealing with data from [Healthdata.gov](http://www.healthdata.gov/content/data-api). We decided to use this API instead of the Center for Disease Control API, mostly because it's easier to use. We will be using it to gather data, and then in coming weeks we will learn how to parse through it and visualize it."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "First off, we decided we should define some basic concepts. (Credit: Rochelle Terman)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### What's an API?"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "API stands for Application Programming Interface. Basically, an API is a set of software tools and protocols that can be used to build a computer application or query a remote database. \n",
- "\n",
- "It has become increasingly common for big companies or organizations to develop and release APIs for public use. Here is a list of commonly used APIs:\n",
- "\n",
- "* Twitter APIs, used for reading Twitter data or integrating Twitter into a website\n",
- "* NY Times API, used to query (search) articles and articles' data\n",
- "* Google+ API, used to integrate Google log in from other sites\n",
- "\n",
- "You have probably interacted with many APIs without knowing it."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### What's a RESTful API?"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "REST stands for Representational State Transfer.\n",
- "\n",
- "According to Wikipedia, \"REST-compliant web services allow requesting systems to access and manipulate textual representations of web resources using a uniform and predefined set of stateless operations.\"\n",
- "\n",
- "Essentially, REST is a way of requesting data from a website or database. The Health data API is a REST API. REST-ful APIs are conveinent because we can use them to query databases using URLs."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### RESTful APIs in real life"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Consider a Google search. What's in the address bar?\n",
- "\n",
- "It looks like Google makes its query by taking the search terms, separating each of them with a “+”, and appending them to the link:\n",
- "\n",
- "https://www.google.com/#q=\n",
- "\n",
- "So that we have\n",
- "\n",
- "https://www.google.com/#q=search1+search2\n",
- "\n",
- "So can change our Google search by adding some terms to the URL.\n",
- "\n",
- "In dealing with any RESTful API, we will have the following work flow:\n",
- "\n",
- "* Make a GET request using a URL\n",
- "* Receive a response from the server\n",
- "* Parse and format the data in that response"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Some terminology"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "**URL: Uniform Resource Location**\n",
- "\n",
- "A URL is a string of characters that, when interpreted via the Hypertext Transfer Protocol (HTTP), points to a data resource, notably files written in Hypertext Markup Language (HTML) or a subset of a database. To specify what information you want to access from an API, you add parameters to the end of the URL.\n",
- "\n",
- "**HTTP (HyperText Transfer Protocol) Methods/Verbs:**\n",
- "\n",
- "The GET method requests a representation of a data resource corresponding to a particular URL. The process of executing the GET method is often referred to as a “GET request” and is the main method used for querying RESTful databases. This is what we'll be using to retrieve data from APIs. Most web APIs will give you a base URL to which you can add parameters to refine your query. If you see a URL with a question mark in the middle followed by a bunch of words with equals signs, those are GET parameters. \n",
- "\n",
- "For example, the base URL supplied by the Yelp API to search for businesses is:\n",
- "\n",
- "https://api.yelp.com/v2/search\n",
- "\n",
- "If you want to search for where you can get Thai food in Berkeley, the URL would be:\n",
- "\n",
- "https://api.yelp.com/v2/search?term=Thai&location=Berkeley\n",
- "\n",
- "Here, there are two parameters:\n",
- "* The search *term* with the value Thai\n",
- "* The *location* with the value Berkeley\n",
- "\n",
- "In addition to the GET method, HEAD, POST, PUT, DELETE are other common HTTP methods, though mostly never used for database querying, so we won't worry about them for now.\n",
- "\n",
- "**JSON: JavaScript Object Notation**\n",
- "\n",
- "JSON (JavaScript Object Notation) is a format for structuring and exchanging data. Its syntax is based on JavaScript, but you can still use it in any language, including Python. Its format is somewhat similar to that of a Python dictionary in that it consists of a collection of key-value pairs. Here's a link to the documentation for the Python library we'll be using: https://docs.python.org/2/library/json.html.\n",
- "\n",
- "Let's try doing a tutorial to see JSON in action: http://www.w3schools.com/js/js_json_intro.asp\n",
- "\n",
- "If you want to go more in-depth, here's the actual JSON website: http://www.json.org/"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Last Semester's Project"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Last semester, we used the NY Times API, which is really well-developed. It was designed with the user in mind, so the data output is relatively easy to parse. Visit [this link](https://github.com/dlab-berkeley/python-berkeley/blob/gh-pages/03_lecture_code_kunal_040416.ipynb) to see the notebook that we wrote last semester."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Our Project"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Here we go!\n",
- "\n",
- "Because there is such a massive amount of health data available, we decided to break our project down to using one specific dataset. We will be using health inspector data collected in the city of Chicago about restaurants."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "# Import required libraries\n",
- "import requests\n",
- "from urllib.parse import quote_plus\n",
- "import json\n",
- "from __future__ import division\n",
- "import math"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Make a GET request\n",
- "r = requests.get('https://data.cityofchicago.org/api/views/4ijn-s7e5/rows.json')"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "data = json.loads(r.text)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "type(data)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "print(data.keys())"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "print(data['meta'])"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "print(data['data'])"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": []
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.4.4"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 0
-}
diff --git a/notebooks/capitals2.csv b/notebooks/capitals2.csv
deleted file mode 100644
index 1cb17a6..0000000
--- a/notebooks/capitals2.csv
+++ /dev/null
@@ -1,201 +0,0 @@
-Country,Capital,Latitude,Longitude
-Afghanistan,Kabul,34¡28'N,69¡11'E
-Albania,Tirane,41¡18'N,19¡49'E
-Algeria,Algiers,36¡42'N,03¡08'E
-American Samoa,Pago Pago,14¡16'S,170¡43'W
-Andorra,Andorra la Vella,42¡31'N,01¡32'E
-Angola,Luanda,08¡50'S,13¡15'E
-Antigua and Barbuda,W. Indies,17¡20'N,61¡48'W
-Argentina,Buenos Aires,36¡30'S,60¡00'W
-Armenia,Yerevan,40¡10'N,44¡31'E
-Aruba,Oranjestad,12¡32'N,70¡02'W
-Australia,Canberra,35¡15'S,149¡08'E
-Austria,Vienna,48¡12'N,16¡22'E
-Azerbaijan,Baku,40¡29'N,49¡56'E
-Bahamas,Nassau,25¡05'N,77¡20'W
-Bahrain,Manama,26¡10'N,50¡30'E
-Bangladesh,Dhaka,23¡43'N,90¡26'E
-Barbados,Bridgetown,13¡05'N,59¡30'W
-Belarus,Minsk,53¡52'N,27¡30'E
-Belgium,Brussels,50¡51'N,04¡21'E
-Belize,Belmopan,17¡18'N,88¡30'W
-Benin,Porto-Novo (constitutional cotonou) (seat of gvnt),06¡23'N,02¡42'E
-Bhutan,Thimphu,27¡31'N,89¡45'E
-Bolivia,La Paz (adm.)/sucre (legislative),16¡20'S,68¡10'W
-Bosnia and Herzegovina,Sarajevo,43¡52'N,18¡26'E
-Botswana,Gaborone,24¡45'S,25¡57'E
-Brazil,Brasilia,15¡47'S,47¡55'W
-British Virgin Islands,Road Town,18¡27'N,64¡37'W
-Brunei Darussalam,Bandar Seri Begawan,04¡52'N,115¡00'E
-Bulgaria,Sofia,42¡45'N,23¡20'E
-Burkina Faso,Ouagadougou,12¡15'N,01¡30'W
-Burundi,Bujumbura,03¡16'S,29¡18'E
-Cambodia,Phnom Penh,11¡33'N,104¡55'E
-Cameroon,Yaounde,03¡50'N,11¡35'E
-Canada,Ottawa,45¡27'N,75¡42'W
-Cape Verde,Praia,15¡02'N,23¡34'W
-Cayman Islands,George Town,19¡20'N,81¡24'W
-Central African Republic,Bangui,04¡23'N,18¡35'E
-Chad,N'Djamena,12¡10'N,14¡59'E
-Chile,Santiago,33¡24'S,70¡40'W
-China,Beijing,39¡55'N,116¡20'E
-Colombia,Bogota,04¡34'N,74¡00'W
-Comros,Moroni,11¡40'S,43¡16'E
-Congo,Brazzaville,04¡09'S,15¡12'E
-Costa Rica,San Jose,09¡55'N,84¡02'W
-Cote d'Ivoire,Yamoussoukro,06¡49'N,05¡17'W
-Croatia,Zagreb,45¡50'N,15¡58'E
-Cuba,Havana,23¡08'N,82¡22'W
-Cyprus,Nicosia,35¡10'N,33¡25'E
-Czech Republic,Prague,50¡05'N,14¡22'E
-Democratic People's Republic of,P'yongyang,39¡09'N,125¡30'E
-Democratic Republic of the Congo,Kinshasa,04¡20'S,15¡15'E
-Denmark,Copenhagen,55¡41'N,12¡34'E
-Djibouti,Djibouti,11¡08'N,42¡20'E
-Dominica,Roseau,15¡20'N,61¡24'W
-Dominica Republic,Santo Domingo,18¡30'N,69¡59'W
-East Timor,Dili,08¡29'S,125¡34'E
-Ecuador,Quito,00¡15'S,78¡35'W
-Egypt,Cairo,30¡01'N,31¡14'E
-El Salvador,San Salvador,13¡40'N,89¡10'W
-Equatorial Guinea,Malabo,03¡45'N,08¡50'E
-Eritrea,Asmara,15¡19'N,38¡55'E
-Estonia,Tallinn,59¡22'N,24¡48'E
-Ethiopia,Addis Ababa,09¡02'N,38¡42'E
-Falkland Islands (Malvinas),Stanley,51¡40'S,59¡51'W
-Faroe Islands,Torshavn,62¡05'N,06¡56'W
-Fiji,Suva,18¡06'S,178¡30'E
-Finland,Helsinki,60¡15'N,25¡03'E
-France,Paris,48¡50'N,02¡20'E
-French Guiana,Cayenne,05¡05'N,52¡18'W
-French Polynesia,Papeete,17¡32'S,149¡34'W
-Gabon,Libreville,00¡25'N,09¡26'E
-Gambia,Banjul,13¡28'N,16¡40'W
-Georgia,T'bilisi,41¡43'N,44¡50'E
-Germany,Berlin,52¡30'N,13¡25'E
-Ghana,Accra,05¡35'N,00¡06'W
-Greece,Athens,37¡58'N,23¡46'E
-Greenland,Nuuk,64¡10'N,51¡35'W
-Guadeloupe,Basse-Terre,16¡00'N,61¡44'W
-Guatemala,Guatemala,14¡40'N,90¡22'W
-Guernsey,St. Peter Port,49¡26'N,02¡33'W
-Guinea,Conakry,09¡29'N,13¡49'W
-Guinea-Bissau,Bissau,11¡45'N,15¡45'W
-Guyana,Georgetown,06¡50'N,58¡12'W
-Haiti,Port-au-Prince,18¡40'N,72¡20'W
-Heard Island and McDonald Islands,,53¡00'S,74¡00'E
-Honduras,Tegucigalpa,14¡05'N,87¡14'W
-Hungary,Budapest,47¡29'N,19¡05'E
-Iceland,Reykjavik,64¡10'N,21¡57'W
-India,New Delhi,28¡37'N,77¡13'E
-Indonesia,Jakarta,06¡09'S,106¡49'E
-Iran (Islamic Republic of),Tehran,35¡44'N,51¡30'E
-Iraq,Baghdad,33¡20'N,44¡30'E
-Ireland,Dublin,53¡21'N,06¡15'W
-Israel,Jerusalem,31¡47'N,35¡12'E
-Italy,Rome,41¡54'N,12¡29'E
-Jamaica,Kingston,18¡00'N,76¡50'W
-Jordan,Amman,31¡57'N,35¡52'E
-Kazakhstan,Astana,51¡10'N,71¡30'E
-Kenya,Nairobi,01¡17'S,36¡48'E
-Kiribati,Tarawa,01¡30'N,173¡00'E
-Kuwait,Kuwait,29¡30'N,48¡00'E
-Kyrgyzstan,Bishkek,42¡54'N,74¡46'E
-Lao People's Democratic Republic,Vientiane,17¡58'N,102¡36'E
-Latvia,Riga,56¡53'N,24¡08'E
-Lebanon,Beirut,33¡53'N,35¡31'E
-Lesotho,Maseru,29¡18'S,27¡30'E
-Liberia,Monrovia,06¡18'N,10¡47'W
-Libyan Arab Jamahiriya,Tripoli,32¡49'N,13¡07'E
-Liechtenstein,Vaduz,47¡08'N,09¡31'E
-Lithuania,Vilnius,54¡38'N,25¡19'E
-Luxembourg,Luxembourg,49¡37'N,06¡09'E
-"Macao, China",Macau,22¡12'N,113¡33'E
-Madagascar,Antananarivo,18¡55'S,47¡31'E
-Malawi,Lilongwe,14¡00'S,33¡48'E
-Malaysia,Kuala Lumpur,03¡09'N,101¡41'E
-Maldives,Male,04¡00'N,73¡28'E
-Mali,Bamako,12¡34'N,07¡55'W
-Malta,Valletta,35¡54'N,14¡31'E
-Martinique,Fort-de-France,14¡36'N,61¡02'W
-Mauritania,Nouakchott,20¡10'S,57¡30'E
-Mayotte,Mamoudzou,12¡48'S,45¡14'E
-Mexico,Mexico,19¡20'N,99¡10'W
-Micronesia (Federated States of),Palikir,06¡55'N,158¡09'E
-"Moldova, Republic of",Chisinau,47¡02'N,28¡50'E
-Mozambique,Maputo,25¡58'S,32¡32'E
-Myanmar,Yangon,16¡45'N,96¡20'E
-Namibia,Windhoek,22¡35'S,17¡04'E
-Nepal,Kathmandu,27¡45'N,85¡20'E
-Netherlands,Amsterdam/The Hague (seat of Gvnt),52¡23'N,04¡54'E
-Netherlands Antilles,Willemstad,12¡05'N,69¡00'W
-New Caledonia,Noumea,22¡17'S,166¡30'E
-New Zealand,Wellington,41¡19'S,174¡46'E
-Nicaragua,Managua,12¡06'N,86¡20'W
-Niger,Niamey,13¡27'N,02¡06'E
-Nigeria,Abuja,09¡05'N,07¡32'E
-Norfolk Island,Kingston,45¡20'S,168¡43'E
-Northern Mariana Islands,Saipan,15¡12'N,145¡45'E
-Norway,Oslo,59¡55'N,10¡45'E
-Oman,Masqat,23¡37'N,58¡36'E
-Pakistan,Islamabad,33¡40'N,73¡10'E
-Palau,Koror,07¡20'N,134¡28'E
-Panama,Panama,09¡00'N,79¡25'W
-Papua New Guinea,Port Moresby,09¡24'S,147¡08'E
-Paraguay,Asuncion,25¡10'S,57¡30'W
-Peru,Lima,12¡00'S,77¡00'W
-Philippines,Manila,14¡40'N,121¡03'E
-Poland,Warsaw,52¡13'N,21¡00'E
-Portugal,Lisbon,38¡42'N,09¡10'W
-Puerto Rico,San Juan,18¡28'N,66¡07'W
-Qatar,Doha,25¡15'N,51¡35'E
-Republic of Korea,Seoul,37¡31'N,126¡58'E
-Romania,Bucuresti,44¡27'N,26¡10'E
-Russian Federation,Moskva,55¡45'N,37¡35'E
-Rawanda,Kigali,01¡59'S,30¡04'E
-Saint Kitts and Nevis,Basseterre,17¡17'N,62¡43'W
-Saint Lucia,Castries,14¡02'N,60¡58'W
-Saint Pierre and Miquelon,Saint-Pierre,46¡46'N,56¡12'W
-Saint vincent and the Grenadines,Kingstown,13¡10'N,61¡10'W
-Samoa,Apia,13¡50'S,171¡50'W
-San Marino,San Marino,43¡55'N,12¡30'E
-Sao Tome and Principe,Sao Tome,00¡10'N,06¡39'E
-Saudi Arabia,Riyadh,24¡41'N,46¡42'E
-Senegal,Dakar,14¡34'N,17¡29'W
-Sierra Leone,Freetown,08¡30'N,13¡17'W
-Slovakia,Bratislava,48¡10'N,17¡07'E
-Slovenia,Ljubljana,46¡04'N,14¡33'E
-Solomon Islands,Honiara,09¡27'S,159¡57'E
-Somalia,Mogadishu,02¡02'N,45¡25'E
-South Africa,Pretoria (adm.) / Cap Town (Legislative) / Bloemfontein (Judicial),25¡44'S,28¡12'E
-Spain,Madrid,40¡25'N,03¡45'W
-Sudan,Khartoum,15¡31'N,32¡35'E
-Suriname,Paramaribo,05¡50'N,55¡10'W
-Swaziland,Mbabane (Adm.),26¡18'S,31¡06'E
-Sweden,Stockholm,59¡20'N,18¡03'E
-Switzerland,Bern,46¡57'N,07¡28'E
-Syrian Arab Republic,Damascus,33¡30'N,36¡18'E
-Tajikistan,Dushanbe,38¡33'N,68¡48'E
-Thailand,Bangkok,13¡45'N,100¡35'E
-The Former Yugoslav Republic of Macedonia,Skopje,42¡01'N,21¡26'E
-Togo,Lome,06¡09'N,01¡20'E
-Tonga,Nuku'alofa,21¡10'S,174¡00'W
-Tunisia,Tunis,36¡50'N,10¡11'E
-Turkey,Ankara,39¡57'N,32¡54'E
-Turkmenistan,Ashgabat,38¡00'N,57¡50'E
-Tuvalu,Funafuti,08¡31'S,179¡13'E
-Uganda,Kampala,00¡20'N,32¡30'E
-Ukraine,Kiev (Rus),50¡30'N,30¡28'E
-United Arab Emirates,Abu Dhabi,24¡28'N,54¡22'E
-United Kingdom of Great Britain and Northern Ireland,London,51¡36'N,00¡05'W
-United Republic of Tanzania,Dodoma,06¡08'S,35¡45'E
-United States of America,Washington DC,39¡91'N,77¡02'W
-United States of Virgin Islands,Charlotte Amalie,18¡21'N,64¡56'W
-Uruguay,Montevideo,34¡50'S,56¡11'W
-Uzbekistan,Tashkent,41¡20'N,69¡10'E
-Vanuatu,Port-Vila,17¡45'S,168¡18'E
-Venezuela,Caracas,10¡30'N,66¡55'W
-Viet Nam,Hanoi,21¡05'N,105¡55'E
-Yugoslavia,Belgrade,44¡50'N,20¡37'E
-Zambia,Lusaka,15¡28'S,28¡16'E
-Zimbabwe,Harare,17¡43'S,31¡02'E
diff --git a/notebooks/coding_challenges1.ipynb b/notebooks/coding_challenges1.ipynb
deleted file mode 100644
index 5218544..0000000
--- a/notebooks/coding_challenges1.ipynb
+++ /dev/null
@@ -1,171 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# Code Challenges"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "For those of you trying to improve your skills on the basics, here are some challenges! They increase in difficulty, so please try to do them in order. Many of them require that you keep track of some value that is different from your inputs, so make sure to take advantage of variables! I put some skeleton code for the first 3 methods, so use pattern-matching to define the last two.\n",
- "\n",
- "1. Implement a function that takes in a list of numbers and prints them out if they are less than 10.\n",
- "2. Implement a function that takes in three numbers and returns their sum.\n",
- "3. Implement a function that takes in a list of strings and prints every other string. Hint: check our example 2 from class.\n",
- "4. Implement a function that takes in two inputs: a number x and a list of numbers. Return a count of the number of times that the number x appears in the list.\n",
- "5. Implement a function that takes in a list of numbers and returns the maximum (greatest number) from the list. Assume that all of the numbers in the list are positive numbers.\n",
- "\n",
- "I also included our solutions for the coding challenges in class at the bottom.\n",
- "\n",
- "Not had enough? Check this link for more puzzles: http://codingbat.com/python"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "def print_less_than_ten(lst):\n",
- " "
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "def sum_of_three(x, y, z):\n",
- " "
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "def print_every_other(lst):\n",
- " "
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Here are our solutions for the in-class coding challenges:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "## Megan's solution to challenge 1:\n",
- "def x_in_list(x, lst):\n",
- " for i in lst:\n",
- " if i == x:\n",
- " return True\n",
- " return False\n",
- "\n",
- "print(x_in_list(3, [1, 2, 3, 4]))\n",
- "print(x_in_list(5, [1, 2, 3, 4]))"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "## Megan's solution to challenge 2:\n",
- "def m_square_every_other(lst):\n",
- " even = True\n",
- " for i in range(len(lst)):\n",
- " if (even):\n",
- " lst[i] = lst[i] * lst[i]\n",
- " even = False\n",
- " else:\n",
- " even = True\n",
- " return lst\n",
- "\n",
- "m_square_every_other([1, 2, 3, 4, 5])"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "## Liza's solution to challenge 2 (more advanced):\n",
- "def l_square_every_other(lst):\n",
- " i = 0\n",
- " while i < len(lst):\n",
- " if i % 2 == 0:\n",
- " lst[i] = lst[i] ** 2\n",
- " i += 1\n",
- " return lst\n",
- "\n",
- "l_square_every_other([1, 2, 3, 4, 5])"
- ]
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.4.4"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 0
-}
diff --git a/notebooks/coding_challenges_sol1.ipynb b/notebooks/coding_challenges_sol1.ipynb
deleted file mode 100644
index aa84107..0000000
--- a/notebooks/coding_challenges_sol1.ipynb
+++ /dev/null
@@ -1,157 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# Code Challenges: Solutions"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Here are solutions to the coding challenges posted on the website earlier this week. As a reminder, here are the descriptions of the challenges:\n",
- "\n",
- "1. Implement a function that takes in a list of numbers and prints them out if they are less than 10.\n",
- "2. Implement a function that takes in three numbers and returns their sum.\n",
- "3. Implement a function that takes in a list of strings and prints every other string. Hint: check our example 2 from class.\n",
- "4. Implement a function that takes in two inputs: a number x and a list of numbers. Return a count of the number of times that the number x appears in the list.\n",
- "5. Implement a function that takes in a list of numbers and returns the maximum (greatest number) from the list. Assume that all of the numbers in the list are positive numbers.\n",
- "\n",
- "Below are our solutions, but please keep in mind that *there are many possible solutions,* and just because yours doesn't match ours does not make it invalid!"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "## Solution to challenge 1\n",
- "\n",
- "def print_less_than_ten(lst):\n",
- " for num in lst:\n",
- " if num < 10:\n",
- " print(num)\n",
- "\n",
- "print_less_than_ten([1, 2, 3, 9, 10, 11, 12, 30])"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "## Solution to challenge 2\n",
- "\n",
- "def sum_of_three(x, y, z):\n",
- " return x + y + x\n",
- "\n",
- "print(sum_of_three(1, 1, 1))\n",
- "print(sum_of_three(1000, 899, 6))"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "## Solution to challenge 3\n",
- "\n",
- "def print_every_other(lst):\n",
- " even = True\n",
- " for item in lst:\n",
- " if even:\n",
- " print(item)\n",
- " even = False\n",
- " else:\n",
- " even = True\n",
- "\n",
- "print_every_other([1, 2, 3, 4, 5])"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "## Solution to challenge 4\n",
- "\n",
- "def count_appearances(x, lst):\n",
- " count = 0\n",
- " for num in lst:\n",
- " if num == x:\n",
- " count = count + 1\n",
- " return count\n",
- "\n",
- "lst = [1, 3, 3, 4, 5, 6]\n",
- "print(count_appearances(3, lst))\n",
- "print(count_appearances(0, lst))\n",
- "print(count_appearances(5, lst))"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "## Solution to challenge 5\n",
- "\n",
- "def return_max(lst):\n",
- " max_val = -1\n",
- " for num in lst:\n",
- " if num > max_val:\n",
- " max_val = num\n",
- " return max_val\n",
- "\n",
- "print(return_max([1, 2, 3, 4]))\n",
- "print(return_max([6, 2, 7]))"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": []
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.4.4"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 0
-}
diff --git a/notebooks/example2.txt b/notebooks/example2.txt
deleted file mode 100644
index a39898a..0000000
--- a/notebooks/example2.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-bears
-beets
-Battlestar Galactica
diff --git a/notebooks/filewriting/capitals.csv b/notebooks/filewriting/capitals.csv
deleted file mode 100644
index be50d9a..0000000
--- a/notebooks/filewriting/capitals.csv
+++ /dev/null
@@ -1 +0,0 @@
-Country,Capital,Latitude,Longitude
Afghanistan,Kabul,34¡28'N,69¡11'E
Albania,Tirane,41¡18'N,19¡49'E
Algeria,Algiers,36¡42'N,03¡08'E
American Samoa,Pago Pago,14¡16'S,170¡43'W
Andorra,Andorra la Vella,42¡31'N,01¡32'E
Angola,Luanda,08¡50'S,13¡15'E
Antigua and Barbuda,W. Indies,17¡20'N,61¡48'W
Argentina,Buenos Aires,36¡30'S,60¡00'W
Armenia,Yerevan,40¡10'N,44¡31'E
Aruba,Oranjestad,12¡32'N,70¡02'W
Australia,Canberra,35¡15'S,149¡08'E
Austria,Vienna,48¡12'N,16¡22'E
Azerbaijan,Baku,40¡29'N,49¡56'E
Bahamas,Nassau,25¡05'N,77¡20'W
Bahrain,Manama,26¡10'N,50¡30'E
Bangladesh,Dhaka,23¡43'N,90¡26'E
Barbados,Bridgetown,13¡05'N,59¡30'W
Belarus,Minsk,53¡52'N,27¡30'E
Belgium,Brussels,50¡51'N,04¡21'E
Belize,Belmopan,17¡18'N,88¡30'W
Benin,Porto-Novo (constitutional cotonou) (seat of gvnt),06¡23'N,02¡42'E
Bhutan,Thimphu,27¡31'N,89¡45'E
Bolivia,La Paz (adm.)/sucre (legislative),16¡20'S,68¡10'W
Bosnia and Herzegovina,Sarajevo,43¡52'N,18¡26'E
Botswana,Gaborone,24¡45'S,25¡57'E
Brazil,Brasilia,15¡47'S,47¡55'W
British Virgin Islands,Road Town,18¡27'N,64¡37'W
Brunei Darussalam,Bandar Seri Begawan,04¡52'N,115¡00'E
Bulgaria,Sofia,42¡45'N,23¡20'E
Burkina Faso,Ouagadougou,12¡15'N,01¡30'W
Burundi,Bujumbura,03¡16'S,29¡18'E
Cambodia,Phnom Penh,11¡33'N,104¡55'E
Cameroon,Yaounde,03¡50'N,11¡35'E
Canada,Ottawa,45¡27'N,75¡42'W
Cape Verde,Praia,15¡02'N,23¡34'W
Cayman Islands,George Town,19¡20'N,81¡24'W
Central African Republic,Bangui,04¡23'N,18¡35'E
Chad,N'Djamena,12¡10'N,14¡59'E
Chile,Santiago,33¡24'S,70¡40'W
China,Beijing,39¡55'N,116¡20'E
Colombia,Bogota,04¡34'N,74¡00'W
Comros,Moroni,11¡40'S,43¡16'E
Congo,Brazzaville,04¡09'S,15¡12'E
Costa Rica,San Jose,09¡55'N,84¡02'W
Cote d'Ivoire,Yamoussoukro,06¡49'N,05¡17'W
Croatia,Zagreb,45¡50'N,15¡58'E
Cuba,Havana,23¡08'N,82¡22'W
Cyprus,Nicosia,35¡10'N,33¡25'E
Czech Republic,Prague,50¡05'N,14¡22'E
Democratic People's Republic of,P'yongyang,39¡09'N,125¡30'E
Democratic Republic of the Congo,Kinshasa,04¡20'S,15¡15'E
Denmark,Copenhagen,55¡41'N,12¡34'E
Djibouti,Djibouti,11¡08'N,42¡20'E
Dominica,Roseau,15¡20'N,61¡24'W
Dominica Republic,Santo Domingo,18¡30'N,69¡59'W
East Timor,Dili,08¡29'S,125¡34'E
Ecuador,Quito,00¡15'S,78¡35'W
Egypt,Cairo,30¡01'N,31¡14'E
El Salvador,San Salvador,13¡40'N,89¡10'W
Equatorial Guinea,Malabo,03¡45'N,08¡50'E
Eritrea,Asmara,15¡19'N,38¡55'E
Estonia,Tallinn,59¡22'N,24¡48'E
Ethiopia,Addis Ababa,09¡02'N,38¡42'E
Falkland Islands (Malvinas),Stanley,51¡40'S,59¡51'W
Faroe Islands,Torshavn,62¡05'N,06¡56'W
Fiji,Suva,18¡06'S,178¡30'E
Finland,Helsinki,60¡15'N,25¡03'E
France,Paris,48¡50'N,02¡20'E
French Guiana,Cayenne,05¡05'N,52¡18'W
French Polynesia,Papeete,17¡32'S,149¡34'W
Gabon,Libreville,00¡25'N,09¡26'E
Gambia,Banjul,13¡28'N,16¡40'W
Georgia,T'bilisi,41¡43'N,44¡50'E
Germany,Berlin,52¡30'N,13¡25'E
Ghana,Accra,05¡35'N,00¡06'W
Greece,Athens,37¡58'N,23¡46'E
Greenland,Nuuk,64¡10'N,51¡35'W
Guadeloupe,Basse-Terre,16¡00'N,61¡44'W
Guatemala,Guatemala,14¡40'N,90¡22'W
Guernsey,St. Peter Port,49¡26'N,02¡33'W
Guinea,Conakry,09¡29'N,13¡49'W
Guinea-Bissau,Bissau,11¡45'N,15¡45'W
Guyana,Georgetown,06¡50'N,58¡12'W
Haiti,Port-au-Prince,18¡40'N,72¡20'W
Heard Island and McDonald Islands,,53¡00'S,74¡00'E
Honduras,Tegucigalpa,14¡05'N,87¡14'W
Hungary,Budapest,47¡29'N,19¡05'E
Iceland,Reykjavik,64¡10'N,21¡57'W
India,New Delhi,28¡37'N,77¡13'E
Indonesia,Jakarta,06¡09'S,106¡49'E
Iran (Islamic Republic of),Tehran,35¡44'N,51¡30'E
Iraq,Baghdad,33¡20'N,44¡30'E
Ireland,Dublin,53¡21'N,06¡15'W
Israel,Jerusalem,31¡47'N,35¡12'E
Italy,Rome,41¡54'N,12¡29'E
Jamaica,Kingston,18¡00'N,76¡50'W
Jordan,Amman,31¡57'N,35¡52'E
Kazakhstan,Astana,51¡10'N,71¡30'E
Kenya,Nairobi,01¡17'S,36¡48'E
Kiribati,Tarawa,01¡30'N,173¡00'E
Kuwait,Kuwait,29¡30'N,48¡00'E
Kyrgyzstan,Bishkek,42¡54'N,74¡46'E
Lao People's Democratic Republic,Vientiane,17¡58'N,102¡36'E
Latvia,Riga,56¡53'N,24¡08'E
Lebanon,Beirut,33¡53'N,35¡31'E
Lesotho,Maseru,29¡18'S,27¡30'E
Liberia,Monrovia,06¡18'N,10¡47'W
Libyan Arab Jamahiriya,Tripoli,32¡49'N,13¡07'E
Liechtenstein,Vaduz,47¡08'N,09¡31'E
Lithuania,Vilnius,54¡38'N,25¡19'E
Luxembourg,Luxembourg,49¡37'N,06¡09'E
"Macao, China",Macau,22¡12'N,113¡33'E
Madagascar,Antananarivo,18¡55'S,47¡31'E
Malawi,Lilongwe,14¡00'S,33¡48'E
Malaysia,Kuala Lumpur,03¡09'N,101¡41'E
Maldives,Male,04¡00'N,73¡28'E
Mali,Bamako,12¡34'N,07¡55'W
Malta,Valletta,35¡54'N,14¡31'E
Martinique,Fort-de-France,14¡36'N,61¡02'W
Mauritania,Nouakchott,20¡10'S,57¡30'E
Mayotte,Mamoudzou,12¡48'S,45¡14'E
Mexico,Mexico,19¡20'N,99¡10'W
Micronesia (Federated States of),Palikir,06¡55'N,158¡09'E
"Moldova, Republic of",Chisinau,47¡02'N,28¡50'E
Mozambique,Maputo,25¡58'S,32¡32'E
Myanmar,Yangon,16¡45'N,96¡20'E
Namibia,Windhoek,22¡35'S,17¡04'E
Nepal,Kathmandu,27¡45'N,85¡20'E
Netherlands,Amsterdam/The Hague (seat of Gvnt),52¡23'N,04¡54'E
Netherlands Antilles,Willemstad,12¡05'N,69¡00'W
New Caledonia,Noumea,22¡17'S,166¡30'E
New Zealand,Wellington,41¡19'S,174¡46'E
Nicaragua,Managua,12¡06'N,86¡20'W
Niger,Niamey,13¡27'N,02¡06'E
Nigeria,Abuja,09¡05'N,07¡32'E
Norfolk Island,Kingston,45¡20'S,168¡43'E
Northern Mariana Islands,Saipan,15¡12'N,145¡45'E
Norway,Oslo,59¡55'N,10¡45'E
Oman,Masqat,23¡37'N,58¡36'E
Pakistan,Islamabad,33¡40'N,73¡10'E
Palau,Koror,07¡20'N,134¡28'E
Panama,Panama,09¡00'N,79¡25'W
Papua New Guinea,Port Moresby,09¡24'S,147¡08'E
Paraguay,Asuncion,25¡10'S,57¡30'W
Peru,Lima,12¡00'S,77¡00'W
Philippines,Manila,14¡40'N,121¡03'E
Poland,Warsaw,52¡13'N,21¡00'E
Portugal,Lisbon,38¡42'N,09¡10'W
Puerto Rico,San Juan,18¡28'N,66¡07'W
Qatar,Doha,25¡15'N,51¡35'E
Republic of Korea,Seoul,37¡31'N,126¡58'E
Romania,Bucuresti,44¡27'N,26¡10'E
Russian Federation,Moskva,55¡45'N,37¡35'E
Rawanda,Kigali,01¡59'S,30¡04'E
Saint Kitts and Nevis,Basseterre,17¡17'N,62¡43'W
Saint Lucia,Castries,14¡02'N,60¡58'W
Saint Pierre and Miquelon,Saint-Pierre,46¡46'N,56¡12'W
Saint vincent and the Grenadines,Kingstown,13¡10'N,61¡10'W
Samoa,Apia,13¡50'S,171¡50'W
San Marino,San Marino,43¡55'N,12¡30'E
Sao Tome and Principe,Sao Tome,00¡10'N,06¡39'E
Saudi Arabia,Riyadh,24¡41'N,46¡42'E
Senegal,Dakar,14¡34'N,17¡29'W
Sierra Leone,Freetown,08¡30'N,13¡17'W
Slovakia,Bratislava,48¡10'N,17¡07'E
Slovenia,Ljubljana,46¡04'N,14¡33'E
Solomon Islands,Honiara,09¡27'S,159¡57'E
Somalia,Mogadishu,02¡02'N,45¡25'E
South Africa,Pretoria (adm.) / Cap Town (Legislative) / Bloemfontein (Judicial),25¡44'S,28¡12'E
Spain,Madrid,40¡25'N,03¡45'W
Sudan,Khartoum,15¡31'N,32¡35'E
Suriname,Paramaribo,05¡50'N,55¡10'W
Swaziland,Mbabane (Adm.),26¡18'S,31¡06'E
Sweden,Stockholm,59¡20'N,18¡03'E
Switzerland,Bern,46¡57'N,07¡28'E
Syrian Arab Republic,Damascus,33¡30'N,36¡18'E
Tajikistan,Dushanbe,38¡33'N,68¡48'E
Thailand,Bangkok,13¡45'N,100¡35'E
The Former Yugoslav Republic of Macedonia,Skopje,42¡01'N,21¡26'E
Togo,Lome,06¡09'N,01¡20'E
Tonga,Nuku'alofa,21¡10'S,174¡00'W
Tunisia,Tunis,36¡50'N,10¡11'E
Turkey,Ankara,39¡57'N,32¡54'E
Turkmenistan,Ashgabat,38¡00'N,57¡50'E
Tuvalu,Funafuti,08¡31'S,179¡13'E
Uganda,Kampala,00¡20'N,32¡30'E
Ukraine,Kiev (Rus),50¡30'N,30¡28'E
United Arab Emirates,Abu Dhabi,24¡28'N,54¡22'E
United Kingdom of Great Britain and Northern Ireland,London,51¡36'N,00¡05'W
United Republic of Tanzania,Dodoma,06¡08'S,35¡45'E
United States of America,Washington DC,39¡91'N,77¡02'W
United States of Virgin Islands,Charlotte Amalie,18¡21'N,64¡56'W
Uruguay,Montevideo,34¡50'S,56¡11'W
Uzbekistan,Tashkent,41¡20'N,69¡10'E
Vanuatu,Port-Vila,17¡45'S,168¡18'E
Venezuela,Caracas,10¡30'N,66¡55'W
Viet Nam,Hanoi,21¡05'N,105¡55'E
Yugoslavia,Belgrade,44¡50'N,20¡37'E
Zambia,Lusaka,15¡28'S,28¡16'E
Zimbabwe,Harare,17¡43'S,31¡02'E
\ No newline at end of file
diff --git a/notebooks/filewriting/capitals2.csv b/notebooks/filewriting/capitals2.csv
deleted file mode 100644
index 1cb17a6..0000000
--- a/notebooks/filewriting/capitals2.csv
+++ /dev/null
@@ -1,201 +0,0 @@
-Country,Capital,Latitude,Longitude
-Afghanistan,Kabul,34¡28'N,69¡11'E
-Albania,Tirane,41¡18'N,19¡49'E
-Algeria,Algiers,36¡42'N,03¡08'E
-American Samoa,Pago Pago,14¡16'S,170¡43'W
-Andorra,Andorra la Vella,42¡31'N,01¡32'E
-Angola,Luanda,08¡50'S,13¡15'E
-Antigua and Barbuda,W. Indies,17¡20'N,61¡48'W
-Argentina,Buenos Aires,36¡30'S,60¡00'W
-Armenia,Yerevan,40¡10'N,44¡31'E
-Aruba,Oranjestad,12¡32'N,70¡02'W
-Australia,Canberra,35¡15'S,149¡08'E
-Austria,Vienna,48¡12'N,16¡22'E
-Azerbaijan,Baku,40¡29'N,49¡56'E
-Bahamas,Nassau,25¡05'N,77¡20'W
-Bahrain,Manama,26¡10'N,50¡30'E
-Bangladesh,Dhaka,23¡43'N,90¡26'E
-Barbados,Bridgetown,13¡05'N,59¡30'W
-Belarus,Minsk,53¡52'N,27¡30'E
-Belgium,Brussels,50¡51'N,04¡21'E
-Belize,Belmopan,17¡18'N,88¡30'W
-Benin,Porto-Novo (constitutional cotonou) (seat of gvnt),06¡23'N,02¡42'E
-Bhutan,Thimphu,27¡31'N,89¡45'E
-Bolivia,La Paz (adm.)/sucre (legislative),16¡20'S,68¡10'W
-Bosnia and Herzegovina,Sarajevo,43¡52'N,18¡26'E
-Botswana,Gaborone,24¡45'S,25¡57'E
-Brazil,Brasilia,15¡47'S,47¡55'W
-British Virgin Islands,Road Town,18¡27'N,64¡37'W
-Brunei Darussalam,Bandar Seri Begawan,04¡52'N,115¡00'E
-Bulgaria,Sofia,42¡45'N,23¡20'E
-Burkina Faso,Ouagadougou,12¡15'N,01¡30'W
-Burundi,Bujumbura,03¡16'S,29¡18'E
-Cambodia,Phnom Penh,11¡33'N,104¡55'E
-Cameroon,Yaounde,03¡50'N,11¡35'E
-Canada,Ottawa,45¡27'N,75¡42'W
-Cape Verde,Praia,15¡02'N,23¡34'W
-Cayman Islands,George Town,19¡20'N,81¡24'W
-Central African Republic,Bangui,04¡23'N,18¡35'E
-Chad,N'Djamena,12¡10'N,14¡59'E
-Chile,Santiago,33¡24'S,70¡40'W
-China,Beijing,39¡55'N,116¡20'E
-Colombia,Bogota,04¡34'N,74¡00'W
-Comros,Moroni,11¡40'S,43¡16'E
-Congo,Brazzaville,04¡09'S,15¡12'E
-Costa Rica,San Jose,09¡55'N,84¡02'W
-Cote d'Ivoire,Yamoussoukro,06¡49'N,05¡17'W
-Croatia,Zagreb,45¡50'N,15¡58'E
-Cuba,Havana,23¡08'N,82¡22'W
-Cyprus,Nicosia,35¡10'N,33¡25'E
-Czech Republic,Prague,50¡05'N,14¡22'E
-Democratic People's Republic of,P'yongyang,39¡09'N,125¡30'E
-Democratic Republic of the Congo,Kinshasa,04¡20'S,15¡15'E
-Denmark,Copenhagen,55¡41'N,12¡34'E
-Djibouti,Djibouti,11¡08'N,42¡20'E
-Dominica,Roseau,15¡20'N,61¡24'W
-Dominica Republic,Santo Domingo,18¡30'N,69¡59'W
-East Timor,Dili,08¡29'S,125¡34'E
-Ecuador,Quito,00¡15'S,78¡35'W
-Egypt,Cairo,30¡01'N,31¡14'E
-El Salvador,San Salvador,13¡40'N,89¡10'W
-Equatorial Guinea,Malabo,03¡45'N,08¡50'E
-Eritrea,Asmara,15¡19'N,38¡55'E
-Estonia,Tallinn,59¡22'N,24¡48'E
-Ethiopia,Addis Ababa,09¡02'N,38¡42'E
-Falkland Islands (Malvinas),Stanley,51¡40'S,59¡51'W
-Faroe Islands,Torshavn,62¡05'N,06¡56'W
-Fiji,Suva,18¡06'S,178¡30'E
-Finland,Helsinki,60¡15'N,25¡03'E
-France,Paris,48¡50'N,02¡20'E
-French Guiana,Cayenne,05¡05'N,52¡18'W
-French Polynesia,Papeete,17¡32'S,149¡34'W
-Gabon,Libreville,00¡25'N,09¡26'E
-Gambia,Banjul,13¡28'N,16¡40'W
-Georgia,T'bilisi,41¡43'N,44¡50'E
-Germany,Berlin,52¡30'N,13¡25'E
-Ghana,Accra,05¡35'N,00¡06'W
-Greece,Athens,37¡58'N,23¡46'E
-Greenland,Nuuk,64¡10'N,51¡35'W
-Guadeloupe,Basse-Terre,16¡00'N,61¡44'W
-Guatemala,Guatemala,14¡40'N,90¡22'W
-Guernsey,St. Peter Port,49¡26'N,02¡33'W
-Guinea,Conakry,09¡29'N,13¡49'W
-Guinea-Bissau,Bissau,11¡45'N,15¡45'W
-Guyana,Georgetown,06¡50'N,58¡12'W
-Haiti,Port-au-Prince,18¡40'N,72¡20'W
-Heard Island and McDonald Islands,,53¡00'S,74¡00'E
-Honduras,Tegucigalpa,14¡05'N,87¡14'W
-Hungary,Budapest,47¡29'N,19¡05'E
-Iceland,Reykjavik,64¡10'N,21¡57'W
-India,New Delhi,28¡37'N,77¡13'E
-Indonesia,Jakarta,06¡09'S,106¡49'E
-Iran (Islamic Republic of),Tehran,35¡44'N,51¡30'E
-Iraq,Baghdad,33¡20'N,44¡30'E
-Ireland,Dublin,53¡21'N,06¡15'W
-Israel,Jerusalem,31¡47'N,35¡12'E
-Italy,Rome,41¡54'N,12¡29'E
-Jamaica,Kingston,18¡00'N,76¡50'W
-Jordan,Amman,31¡57'N,35¡52'E
-Kazakhstan,Astana,51¡10'N,71¡30'E
-Kenya,Nairobi,01¡17'S,36¡48'E
-Kiribati,Tarawa,01¡30'N,173¡00'E
-Kuwait,Kuwait,29¡30'N,48¡00'E
-Kyrgyzstan,Bishkek,42¡54'N,74¡46'E
-Lao People's Democratic Republic,Vientiane,17¡58'N,102¡36'E
-Latvia,Riga,56¡53'N,24¡08'E
-Lebanon,Beirut,33¡53'N,35¡31'E
-Lesotho,Maseru,29¡18'S,27¡30'E
-Liberia,Monrovia,06¡18'N,10¡47'W
-Libyan Arab Jamahiriya,Tripoli,32¡49'N,13¡07'E
-Liechtenstein,Vaduz,47¡08'N,09¡31'E
-Lithuania,Vilnius,54¡38'N,25¡19'E
-Luxembourg,Luxembourg,49¡37'N,06¡09'E
-"Macao, China",Macau,22¡12'N,113¡33'E
-Madagascar,Antananarivo,18¡55'S,47¡31'E
-Malawi,Lilongwe,14¡00'S,33¡48'E
-Malaysia,Kuala Lumpur,03¡09'N,101¡41'E
-Maldives,Male,04¡00'N,73¡28'E
-Mali,Bamako,12¡34'N,07¡55'W
-Malta,Valletta,35¡54'N,14¡31'E
-Martinique,Fort-de-France,14¡36'N,61¡02'W
-Mauritania,Nouakchott,20¡10'S,57¡30'E
-Mayotte,Mamoudzou,12¡48'S,45¡14'E
-Mexico,Mexico,19¡20'N,99¡10'W
-Micronesia (Federated States of),Palikir,06¡55'N,158¡09'E
-"Moldova, Republic of",Chisinau,47¡02'N,28¡50'E
-Mozambique,Maputo,25¡58'S,32¡32'E
-Myanmar,Yangon,16¡45'N,96¡20'E
-Namibia,Windhoek,22¡35'S,17¡04'E
-Nepal,Kathmandu,27¡45'N,85¡20'E
-Netherlands,Amsterdam/The Hague (seat of Gvnt),52¡23'N,04¡54'E
-Netherlands Antilles,Willemstad,12¡05'N,69¡00'W
-New Caledonia,Noumea,22¡17'S,166¡30'E
-New Zealand,Wellington,41¡19'S,174¡46'E
-Nicaragua,Managua,12¡06'N,86¡20'W
-Niger,Niamey,13¡27'N,02¡06'E
-Nigeria,Abuja,09¡05'N,07¡32'E
-Norfolk Island,Kingston,45¡20'S,168¡43'E
-Northern Mariana Islands,Saipan,15¡12'N,145¡45'E
-Norway,Oslo,59¡55'N,10¡45'E
-Oman,Masqat,23¡37'N,58¡36'E
-Pakistan,Islamabad,33¡40'N,73¡10'E
-Palau,Koror,07¡20'N,134¡28'E
-Panama,Panama,09¡00'N,79¡25'W
-Papua New Guinea,Port Moresby,09¡24'S,147¡08'E
-Paraguay,Asuncion,25¡10'S,57¡30'W
-Peru,Lima,12¡00'S,77¡00'W
-Philippines,Manila,14¡40'N,121¡03'E
-Poland,Warsaw,52¡13'N,21¡00'E
-Portugal,Lisbon,38¡42'N,09¡10'W
-Puerto Rico,San Juan,18¡28'N,66¡07'W
-Qatar,Doha,25¡15'N,51¡35'E
-Republic of Korea,Seoul,37¡31'N,126¡58'E
-Romania,Bucuresti,44¡27'N,26¡10'E
-Russian Federation,Moskva,55¡45'N,37¡35'E
-Rawanda,Kigali,01¡59'S,30¡04'E
-Saint Kitts and Nevis,Basseterre,17¡17'N,62¡43'W
-Saint Lucia,Castries,14¡02'N,60¡58'W
-Saint Pierre and Miquelon,Saint-Pierre,46¡46'N,56¡12'W
-Saint vincent and the Grenadines,Kingstown,13¡10'N,61¡10'W
-Samoa,Apia,13¡50'S,171¡50'W
-San Marino,San Marino,43¡55'N,12¡30'E
-Sao Tome and Principe,Sao Tome,00¡10'N,06¡39'E
-Saudi Arabia,Riyadh,24¡41'N,46¡42'E
-Senegal,Dakar,14¡34'N,17¡29'W
-Sierra Leone,Freetown,08¡30'N,13¡17'W
-Slovakia,Bratislava,48¡10'N,17¡07'E
-Slovenia,Ljubljana,46¡04'N,14¡33'E
-Solomon Islands,Honiara,09¡27'S,159¡57'E
-Somalia,Mogadishu,02¡02'N,45¡25'E
-South Africa,Pretoria (adm.) / Cap Town (Legislative) / Bloemfontein (Judicial),25¡44'S,28¡12'E
-Spain,Madrid,40¡25'N,03¡45'W
-Sudan,Khartoum,15¡31'N,32¡35'E
-Suriname,Paramaribo,05¡50'N,55¡10'W
-Swaziland,Mbabane (Adm.),26¡18'S,31¡06'E
-Sweden,Stockholm,59¡20'N,18¡03'E
-Switzerland,Bern,46¡57'N,07¡28'E
-Syrian Arab Republic,Damascus,33¡30'N,36¡18'E
-Tajikistan,Dushanbe,38¡33'N,68¡48'E
-Thailand,Bangkok,13¡45'N,100¡35'E
-The Former Yugoslav Republic of Macedonia,Skopje,42¡01'N,21¡26'E
-Togo,Lome,06¡09'N,01¡20'E
-Tonga,Nuku'alofa,21¡10'S,174¡00'W
-Tunisia,Tunis,36¡50'N,10¡11'E
-Turkey,Ankara,39¡57'N,32¡54'E
-Turkmenistan,Ashgabat,38¡00'N,57¡50'E
-Tuvalu,Funafuti,08¡31'S,179¡13'E
-Uganda,Kampala,00¡20'N,32¡30'E
-Ukraine,Kiev (Rus),50¡30'N,30¡28'E
-United Arab Emirates,Abu Dhabi,24¡28'N,54¡22'E
-United Kingdom of Great Britain and Northern Ireland,London,51¡36'N,00¡05'W
-United Republic of Tanzania,Dodoma,06¡08'S,35¡45'E
-United States of America,Washington DC,39¡91'N,77¡02'W
-United States of Virgin Islands,Charlotte Amalie,18¡21'N,64¡56'W
-Uruguay,Montevideo,34¡50'S,56¡11'W
-Uzbekistan,Tashkent,41¡20'N,69¡10'E
-Vanuatu,Port-Vila,17¡45'S,168¡18'E
-Venezuela,Caracas,10¡30'N,66¡55'W
-Viet Nam,Hanoi,21¡05'N,105¡55'E
-Yugoslavia,Belgrade,44¡50'N,20¡37'E
-Zambia,Lusaka,15¡28'S,28¡16'E
-Zimbabwe,Harare,17¡43'S,31¡02'E
diff --git a/notebooks/filewriting/counties.txt b/notebooks/filewriting/counties.txt
deleted file mode 100644
index bfde0e2..0000000
--- a/notebooks/filewriting/counties.txt
+++ /dev/null
@@ -1 +0,0 @@
-Alameda
Alpine
Amador
Butte
Calaveras
Colusa
Contra Costa
Del Norte
El Dorado
Fresno
Glenn
Humboldt
Imperial
Inyo
Kern
Kings
Lake
Lassen
Los Angeles
Madera
Marin
Mariposa
Mendocino
Merced
Modoc
Mono
Monterey
Napa
Nevada
Orange
Placer
Plumas
Riverside
Sacramento
San Benito
San Bernardino
San Diego
San Francisco
San Joaquin
San Luis Obispo
San Mateo
Santa Barbara
Santa Clara
Santa Cruz
Shasta
Sierra
Siskiyou
Solano
Sonoma
Stanislaus
Sutter
Tehama
Trinity
Tulare
Tuolumne
Ventura
Yolo
Yuba
\ No newline at end of file
diff --git a/notebooks/filewriting/example.txt b/notebooks/filewriting/example.txt
deleted file mode 100644
index cb7fac4..0000000
--- a/notebooks/filewriting/example.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-This is line 1.
-This is line 2.
-This is line 3.
-This is line 4.
-This is line 5.
diff --git a/notebooks/filewriting/example2.txt b/notebooks/filewriting/example2.txt
deleted file mode 100644
index a39898a..0000000
--- a/notebooks/filewriting/example2.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-bears
-beets
-Battlestar Galactica
diff --git a/notebooks/filewriting/file_writing.ipynb b/notebooks/filewriting/file_writing.ipynb
deleted file mode 100644
index 7fd4256..0000000
--- a/notebooks/filewriting/file_writing.ipynb
+++ /dev/null
@@ -1,845 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# File Handling"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Today we will learn about how to read from and write to files on your computer using a Python script! Credit to Rochelle Terman"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 1,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "## Import required libraries\n",
- "import tweepy\n",
- "import json"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Reading from a file\n",
- "\n",
- "Reading a file requires three steps:\n",
- "\n",
- "1. Opening the file\n",
- "2. Reading the file\n",
- "3. Closing the file"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "An exclamation point `!` puts you in [bash](https://en.wikipedia.org/wiki/Bash_(Unix_shell). The `touch` command creates a file. You use it by including an argument which is the name of the file you create."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 5,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "!touch sample.txt"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 6,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "----\n",
- "0\n"
- ]
- }
- ],
- "source": [
- "my_file = open(\"sample.txt\", \"r\")\n",
- "text = my_file.read()\n",
- "my_file.close()\n",
- "\n",
- "print(\"--\" + text + \"--\")\n",
- "print(len(text))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "We see that when we create a new file using bash, it's empty. Let's try reading from a file with text in it; for example, `example.txt`.\n",
- "\n",
- "After we read from the file, we must be sure to close it. If we fail to close the file, this can lead to security or data integrity problems within the program.\n",
- "\n",
- "(Also note that \"\\n\" is a new line character in Python)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 7,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "--\n",
- "This is line 1.\n",
- "This is line 2.\n",
- "This is line 3.\n",
- "This is line 4.\n",
- "This is line 5.\n",
- "--\n",
- "80\n"
- ]
- }
- ],
- "source": [
- "my_file = open(\"example.txt\", \"r\")\n",
- "text = my_file.read()\n",
- "my_file.close()\n",
- "\n",
- "print(\"--\\n\" + text + \"--\")\n",
- "print(len(text))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "However, if you use the `with open` syntax, the program will automatically close files for you. The `'r'` indicates that you are reading the file, as opposed to, say, writing to it. If we don't include the `r/w` argument, the `with` command will default to read only permissions."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 9,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "--\n",
- "This is line 1.\n",
- "This is line 2.\n",
- "This is line 3.\n",
- "This is line 4.\n",
- "This is line 5.\n",
- "--\n",
- "80\n"
- ]
- }
- ],
- "source": [
- "# better code\n",
- "with open('example.txt', 'r') as my_file:\n",
- " text = my_file.read()\n",
- "# my_file.read()\n",
- "print(\"--\\n\" + text + \"--\")\n",
- "print(len(text))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "The `with` function will keep the file open as long as the program is still in the indented block. Once outside, the file is no longer open, and you can't access the contents. You can only access what you have saved to a variable."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Reading a file as a list\n",
- "\n",
- "Often times, we want to read in a file line by line, storing those lines as a list. To do that, Python has a command that looks very much like the English translation: we simply say `for line in my_file`."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 10,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "stored = []\n",
- "with open('example.txt', 'r') as my_file:\n",
- " for line in my_file:\n",
- " stored.append(line)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 11,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "['This is line 1.\\n',\n",
- " 'This is line 2.\\n',\n",
- " 'This is line 3.\\n',\n",
- " 'This is line 4.\\n',\n",
- " 'This is line 5.\\n']"
- ]
- },
- "execution_count": 11,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "stored"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "As we learned in the Python review, we can use the String `strip` [method](https://github.com/dlab-berkeley/python-intensive/blob/master/Glossary.md#method) to get rid of those newline breaks at the end of each line."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 18,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "stored = []\n",
- "with open('example.txt', 'r') as my_file:\n",
- " for line in my_file:\n",
- " stored.append(line.strip())"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 15,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "['This is line 5.',\n",
- " 'This is line 5.',\n",
- " 'This is line 5.',\n",
- " 'This is line 5.',\n",
- " 'This is line 5.']"
- ]
- },
- "execution_count": 15,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "stored"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Writing to a file\n",
- "\n",
- "We can use the same `with open` syntax for writing files as well."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 19,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "# this is okay...\n",
- "new_file = open(\"example2.txt\", \"w\")\n",
- "bees = ['bears', 'beets', 'Battlestar Galactica']\n",
- "for i in bees:\n",
- " new_file.write(i + '\\n')\n",
- "new_file.close()"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Another useful bash command is `cat`, which requires a single parameter filename. When you run `cat filename`, the contents of the file named `filename` will be printed out."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 20,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "bears\r\n",
- "beets\r\n",
- "Battlestar Galactica\r\n"
- ]
- }
- ],
- "source": [
- "!cat example2.txt"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 21,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "# but this is better...\n",
- "bees = ['bears', 'beets', 'Battlestar Galactica']\n",
- "with open('example2.txt', 'w') as new_file:\n",
- " for i in bees:\n",
- " new_file.write(i + '\\n')"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 22,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "bears\r\n",
- "beets\r\n",
- "Battlestar Galactica\r\n"
- ]
- }
- ],
- "source": [
- "!cat example2.txt"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Using the CSV Module\n",
- "\n",
- "It is often useful to have the results of a computer program output to a CSV file. Python has already built out a `csv` module, which makes this process easy. Also note that in Python, a csv is usually read as a list of dictionaries."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 23,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "import csv"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 24,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# read csv and write into np arrays\n",
- "capitals = [] # make empty list\n",
- "with open('capitals.csv', 'r') as csvfile: # open file\n",
- " reader = csv.DictReader(csvfile) # create a reader\n",
- " for row in reader: # loop through rows\n",
- " capitals.append(row)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 25,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "[{'Capital': 'Kabul',\n",
- " 'Country': 'Afghanistan',\n",
- " 'Latitude': \"34¡28'N\",\n",
- " 'Longitude': \"69¡11'E\"},\n",
- " {'Capital': 'Tirane',\n",
- " 'Country': 'Albania',\n",
- " 'Latitude': \"41¡18'N\",\n",
- " 'Longitude': \"19¡49'E\"},\n",
- " {'Capital': 'Algiers',\n",
- " 'Country': 'Algeria',\n",
- " 'Latitude': \"36¡42'N\",\n",
- " 'Longitude': \"03¡08'E\"},\n",
- " {'Capital': 'Pago Pago',\n",
- " 'Country': 'American Samoa',\n",
- " 'Latitude': \"14¡16'S\",\n",
- " 'Longitude': \"170¡43'W\"},\n",
- " {'Capital': 'Andorra la Vella',\n",
- " 'Country': 'Andorra',\n",
- " 'Latitude': \"42¡31'N\",\n",
- " 'Longitude': \"01¡32'E\"}]"
- ]
- },
- "execution_count": 25,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "capitals[:5]"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Writing a list of dictionaries to a CSV file is similar:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 26,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "200\n"
- ]
- }
- ],
- "source": [
- "print(len(capitals))"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 27,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "dict_keys(['Longitude', 'Capital', 'Latitude', 'Country'])\n",
- "['Longitude', 'Capital', 'Latitude', 'Country']\n"
- ]
- }
- ],
- "source": [
- "# get the keys in each dictionary\n",
- "keys = capitals[1].keys()\n",
- "print(keys)\n",
- "# convert the data type to a list\n",
- "keys = list(keys)\n",
- "print(keys)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 28,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# write rows\n",
- "with open('capitals2.csv', 'w') as output_file:\n",
- " dict_writer = csv.DictWriter(output_file, ['Country', 'Capital', 'Latitude', 'Longitude'])\n",
- " dict_writer.writeheader()\n",
- " dict_writer.writerows(capitals)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Challenge 1: Read in a list\n",
- "\n",
- "The file `counties.txt` has a column of counties in California. Read in the data into a list called `counties`."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 31,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "['Alameda', 'Alpine', 'Amador', 'Butte', 'Calaveras', 'Colusa', 'Contra Costa', 'Del Norte', 'El Dorado', 'Fresno', 'Glenn', 'Humboldt', 'Imperial', 'Inyo', 'Kern', 'Kings', 'Lake', 'Lassen', 'Los Angeles', 'Madera', 'Marin', 'Mariposa', 'Mendocino', 'Merced', 'Modoc', 'Mono', 'Monterey', 'Napa', 'Nevada', 'Orange', 'Placer', 'Plumas', 'Riverside', 'Sacramento', 'San Benito', 'San Bernardino', 'San Diego', 'San Francisco', 'San Joaquin', 'San Luis Obispo', 'San Mateo', 'Santa Barbara', 'Santa Clara', 'Santa Cruz', 'Shasta', 'Sierra', 'Siskiyou', 'Solano', 'Sonoma', 'Stanislaus', 'Sutter', 'Tehama', 'Trinity', 'Tulare', 'Tuolumne', 'Ventura', 'Yolo', 'Yuba']\n",
- "58\n"
- ]
- }
- ],
- "source": [
- "counties_lst = []\n",
- "with open('counties.txt', 'r') as counties:\n",
- " for line in counties:\n",
- " counties_lst.append(line.strip())\n",
- "\n",
- "print(counties_lst)\n",
- "print(len(counties_lst))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Challenge 2: Writing a CSV file\n",
- "\n",
- "Below is a list of dictionaries representing US states. Write this [object](https://github.com/dlab-berkeley/python-intensive/blob/master/Glossary.md#object) as a CSV file called `states.csv`"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 33,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "states = [{'state': 'Ohio', 'population': 11.6, 'year in union': 1803, 'state bird': 'Northern cardinal', 'capital': 'Columbus'},\n",
- " {'state': 'Michigan', 'population': 9.9, 'year in union': 1837, 'capital': 'Lansing'},\n",
- " {'state': 'California', 'population': 39.1, 'year in union': 1850, 'state bird': 'California quail', 'capital': 'Sacramento'},\n",
- " {'state': 'Florida', 'population': 20.2, 'year in union': 1834, 'capital': 'Tallahassee'},\n",
- " {'state': 'Alabama', 'population': 4.9, 'year in union': 1819, 'capital': 'Montgomery'}]"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 36,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "['state bird', 'year in union', 'population', 'state', 'capital']\n"
- ]
- }
- ],
- "source": [
- "keys = []\n",
- "\n",
- "# get a comprehensive list of keys, since not all states have all keys\n",
- "for state in states:\n",
- " for key in state.keys():\n",
- " if key not in keys:\n",
- " keys.append(key)\n",
- "\n",
- "print(keys)\n",
- "\n",
- "with open('states.csv', 'w') as csv_file:\n",
- " dict_write = csv.DictWriter(csv_file, keys)\n",
- " dict_write.writeheader()\n",
- " dict_write.writerows(states)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Challenge 3: Write CSV Data to a Numpy array"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 40,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "\"\"\"\n",
- "From last week: As we saw on the website, the 14 attributes used in the\n",
- "published experiment are as follows. We will use these fields to retrieve\n",
- "data from the CSV file, and write them into a list of Numpy arrays.\n",
- "\"\"\"\n",
- "fields = [\"age\", \"sex\", \"chest_pain_type\", \"rest_blood_pressure\",\n",
- " \"cholestoral\", \"fasting_blood_sugar\",\"rest_ecg\", \"max_hr\",\n",
- " \"ex_ang\", \"oldpeak\", \"slope\", \"ca\", \"thal\", \"num\"]"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 46,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[['63' '1' '1' ..., '0' '6' '0']\n",
- " ['67' '1' '4' ..., '3' '3' '2']\n",
- " ['67' '1' '4' ..., '2' '7' '1']\n",
- " ..., \n",
- " ['57' '1' '4' ..., '1' '7' '3']\n",
- " ['57' '0' '2' ..., '1' '3' '1']\n",
- " ['38' '1' '3' ..., '0' '3' '0']]\n"
- ]
- }
- ],
- "source": [
- "import numpy as np\n",
- "\n",
- "\"\"\"\n",
- "As we saw last week, in order to construct an array, we first create a\n",
- "list and then use the Numpy np.array(lst) constructor. Now we will\n",
- "apply this technique to construct a multidimensional array, or matrix.\n",
- "\n",
- "Use the Python CSV library to read from the CSV data file. Once you\n",
- "read the data into a list, construct an array that has one row of\n",
- "values. We add each row to a list, and then create a matrix or array of\n",
- "arrays from that list.\n",
- "\"\"\"\n",
- "# for each row, create an array of values corresponding to the fields\n",
- "arrays = []\n",
- "\n",
- "from numpy import genfromtxt\n",
- "arrays_2 = genfromtxt('processed_cleveland_data.csv', delimiter=',')\n",
- "\n",
- "with open('processed_cleveland_data.csv', 'r') as my_file:\n",
- " reader = csv.DictReader(my_file, fields)\n",
- " for row in reader:\n",
- " lst = []\n",
- " for field in fields:\n",
- " value = row[field]\n",
- " if value == \"?\":\n",
- " value = 0\n",
- " lst.append(value)\n",
- " arr = np.array(lst)\n",
- " arrays.append(arr)\n",
- "# note that some values are ommitted from the dataset, so you might run\n",
- "# into errors\n",
- "\n",
- "# print(arrays)\n",
- "matrix = np.array(arrays)\n",
- "print(matrix)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "\"\"\"\n",
- "For extra practice on the stuff we learned last week, try to transpose the\n",
- "array and find the average age of the heart disease patients from the study.\n",
- "\"\"\"\n",
- "\n",
- "# numpy stuff"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "###Challenge 4: Writing Twitter API data to a CSV"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "We will learn (probably next week) about how to use APIs to get both data and functionality from other websites. Below, we initialize some variables necessary to use the Twitter API. The details will be explained next week."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "## Our access key, mentioned above\n",
- "consumer_key = 'Q8kC59z8t8T7CCtIErEGFzAce'\n",
- "## Our signature, also given upon app creation\n",
- "consumer_secret = '24bbPpWfjjDKpp0DpIhsBj4q8tUhPQ3DoAf2UWFoN4NxIJ19Ja'\n",
- "## Our access token, generated upon request\n",
- "access_token = '719722984693448704-lGVe8IEmjzpd8RZrCBoYSMug5uoqUkP'\n",
- "## Our secret access token, also generated upon request\n",
- "access_token_secret = 'LrdtfdFSKc3gbRFiFNJ1wZXQNYEVlOobsEGffRECWpLNG'\n",
- "\n",
- "## Set of Tweepy authorization commands\n",
- "auth = tweepy.OAuthHandler(consumer_key, consumer_secret)\n",
- "auth.set_access_token(access_token, access_token_secret)\n",
- "api = tweepy.API(auth)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Now we make a query string using URL formatting (also coming next week!), and we send it to Twitter to retrieve data about Hillary Clinton and Donald Trump. The query will return a list of Twitter statuses, each of which has data that we will write to the CSV."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "# Search for tweets containing a positive attitude to 'hillary' or\n",
- "# 'clinton' since October 1st\n",
- "query1 = \"hillary%20OR%20clinton%20%3A%29\"\n",
- "\n",
- "# Search for tweets containing a positive attitude to 'donald' or\n",
- "# 'trump' since October 1st\n",
- "query2 = \"donald%20OR%20trump%20%3A%29\"\n",
- "\n",
- "results1 = api.search(q=query1)\n",
- "results2 = api.search(q=query2)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "*Remember*: in order to write a set of dictionaries to a CSV file, we will need a list of **all** keys found in any of the dictionaries, and a list of the dictionaries."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "'''\n",
- "Things to know:\n",
- "- results1 and results2 are lists\n",
- "- Each item in lists results1 and results2 is a Twitter status object, which\n",
- " has a _json attribute\n",
- "- This _json attribute can be accessed from the status using \"dot notation\"\n",
- "- This _json attribute can be used as a dictionary\n",
- "- We also need a list of keys *without duplicates* in order to write to a\n",
- " CSV file\n",
- "'''\n",
- "\n",
- "# Your variables here are:\n",
- "## \"keys1\": a list of keys for the first set of statuses\n",
- "## \"lst_1\": a list of _json dictionary objects\n",
- "keys1 = []\n",
- "lst_1 = []\n",
- "\n",
- "for status in results1:\n",
- " dictionary = status._json # access this using dot notation!\n",
- " lst_1.append(dictionary) # function for adding to a list\n",
- " for key in dictionary.keys():\n",
- " if key not in keys1: # check for duplicates\n",
- " keys1.append(key)\n",
- "\n",
- "print(\"KEYS 1: \" + str(keys1) + \"\\n\")\n",
- "\n",
- "# Your variables here are:\n",
- "## \"keys2\": a list of keys for the second set of statuses\n",
- "## \"lst_2\": a list of _json dictionary objects\n",
- "keys2 = []\n",
- "lst_2 = []\n",
- "for status in results2:\n",
- " dictionary = status._json\n",
- " lst_2.append(dictionary)\n",
- " for key in dictionary.keys():\n",
- " if key not in keys2:\n",
- " keys2.append(key)\n",
- " \n",
- "print(\"KEYS 2: \" + str(keys1) + \"\\n\")"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# write rows for each dictionary"
- ]
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.4.5"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 0
-}
diff --git a/notebooks/filewriting/processed_cleveland_data.csv b/notebooks/filewriting/processed_cleveland_data.csv
deleted file mode 100644
index 88fccbf..0000000
--- a/notebooks/filewriting/processed_cleveland_data.csv
+++ /dev/null
@@ -1 +0,0 @@
-63,1,1,145,233,1,2,150,0,2.3,3,0,6,0
67,1,4,160,286,0,2,108,1,1.5,2,3,3,2
67,1,4,120,229,0,2,129,1,2.6,2,2,7,1
37,1,3,130,250,0,0,187,0,3.5,3,0,3,0
41,0,2,130,204,0,2,172,0,1.4,1,0,3,0
56,1,2,120,236,0,0,178,0,0.8,1,0,3,0
62,0,4,140,268,0,2,160,0,3.6,3,2,3,3
57,0,4,120,354,0,0,163,1,0.6,1,0,3,0
63,1,4,130,254,0,2,147,0,1.4,2,1,7,2
53,1,4,140,203,1,2,155,1,3.1,3,0,7,1
57,1,4,140,192,0,0,148,0,0.4,2,0,6,0
56,0,2,140,294,0,2,153,0,1.3,2,0,3,0
56,1,3,130,256,1,2,142,1,0.6,2,1,6,2
44,1,2,120,263,0,0,173,0,0,1,0,7,0
52,1,3,172,199,1,0,162,0,0.5,1,0,7,0
57,1,3,150,168,0,0,174,0,1.6,1,0,3,0
48,1,2,110,229,0,0,168,0,1,3,0,7,1
54,1,4,140,239,0,0,160,0,1.2,1,0,3,0
48,0,3,130,275,0,0,139,0,0.2,1,0,3,0
49,1,2,130,266,0,0,171,0,0.6,1,0,3,0
64,1,1,110,211,0,2,144,1,1.8,2,0,3,0
58,0,1,150,283,1,2,162,0,1,1,0,3,0
58,1,2,120,284,0,2,160,0,1.8,2,0,3,1
58,1,3,132,224,0,2,173,0,3.2,1,2,7,3
60,1,4,130,206,0,2,132,1,2.4,2,2,7,4
50,0,3,120,219,0,0,158,0,1.6,2,0,3,0
58,0,3,120,340,0,0,172,0,0,1,0,3,0
66,0,1,150,226,0,0,114,0,2.6,3,0,3,0
43,1,4,150,247,0,0,171,0,1.5,1,0,3,0
40,1,4,110,167,0,2,114,1,2,2,0,7,3
69,0,1,140,239,0,0,151,0,1.8,1,2,3,0
60,1,4,117,230,1,0,160,1,1.4,1,2,7,2
64,1,3,140,335,0,0,158,0,0,1,0,3,1
59,1,4,135,234,0,0,161,0,0.5,2,0,7,0
44,1,3,130,233,0,0,179,1,0.4,1,0,3,0
42,1,4,140,226,0,0,178,0,0,1,0,3,0
43,1,4,120,177,0,2,120,1,2.5,2,0,7,3
57,1,4,150,276,0,2,112,1,0.6,2,1,6,1
55,1,4,132,353,0,0,132,1,1.2,2,1,7,3
61,1,3,150,243,1,0,137,1,1,2,0,3,0
65,0,4,150,225,0,2,114,0,1,2,3,7,4
40,1,1,140,199,0,0,178,1,1.4,1,0,7,0
71,0,2,160,302,0,0,162,0,0.4,1,2,3,0
59,1,3,150,212,1,0,157,0,1.6,1,0,3,0
61,0,4,130,330,0,2,169,0,0,1,0,3,1
58,1,3,112,230,0,2,165,0,2.5,2,1,7,4
51,1,3,110,175,0,0,123,0,0.6,1,0,3,0
50,1,4,150,243,0,2,128,0,2.6,2,0,7,4
65,0,3,140,417,1,2,157,0,0.8,1,1,3,0
53,1,3,130,197,1,2,152,0,1.2,3,0,3,0
41,0,2,105,198,0,0,168,0,0,1,1,3,0
65,1,4,120,177,0,0,140,0,0.4,1,0,7,0
44,1,4,112,290,0,2,153,0,0,1,1,3,2
44,1,2,130,219,0,2,188,0,0,1,0,3,0
60,1,4,130,253,0,0,144,1,1.4,1,1,7,1
54,1,4,124,266,0,2,109,1,2.2,2,1,7,1
50,1,3,140,233,0,0,163,0,0.6,2,1,7,1
41,1,4,110,172,0,2,158,0,0,1,0,7,1
54,1,3,125,273,0,2,152,0,0.5,3,1,3,0
51,1,1,125,213,0,2,125,1,1.4,1,1,3,0
51,0,4,130,305,0,0,142,1,1.2,2,0,7,2
46,0,3,142,177,0,2,160,1,1.4,3,0,3,0
58,1,4,128,216,0,2,131,1,2.2,2,3,7,1
54,0,3,135,304,1,0,170,0,0,1,0,3,0
54,1,4,120,188,0,0,113,0,1.4,2,1,7,2
60,1,4,145,282,0,2,142,1,2.8,2,2,7,2
60,1,3,140,185,0,2,155,0,3,2,0,3,1
54,1,3,150,232,0,2,165,0,1.6,1,0,7,0
59,1,4,170,326,0,2,140,1,3.4,3,0,7,2
46,1,3,150,231,0,0,147,0,3.6,2,0,3,1
65,0,3,155,269,0,0,148,0,0.8,1,0,3,0
67,1,4,125,254,1,0,163,0,0.2,2,2,7,3
62,1,4,120,267,0,0,99,1,1.8,2,2,7,1
65,1,4,110,248,0,2,158,0,0.6,1,2,6,1
44,1,4,110,197,0,2,177,0,0,1,1,3,1
65,0,3,160,360,0,2,151,0,0.8,1,0,3,0
60,1,4,125,258,0,2,141,1,2.8,2,1,7,1
51,0,3,140,308,0,2,142,0,1.5,1,1,3,0
48,1,2,130,245,0,2,180,0,0.2,2,0,3,0
58,1,4,150,270,0,2,111,1,0.8,1,0,7,3
45,1,4,104,208,0,2,148,1,3,2,0,3,0
53,0,4,130,264,0,2,143,0,0.4,2,0,3,0
39,1,3,140,321,0,2,182,0,0,1,0,3,0
68,1,3,180,274,1,2,150,1,1.6,2,0,7,3
52,1,2,120,325,0,0,172,0,0.2,1,0,3,0
44,1,3,140,235,0,2,180,0,0,1,0,3,0
47,1,3,138,257,0,2,156,0,0,1,0,3,0
53,0,3,128,216,0,2,115,0,0,1,0,?,0
53,0,4,138,234,0,2,160,0,0,1,0,3,0
51,0,3,130,256,0,2,149,0,0.5,1,0,3,0
66,1,4,120,302,0,2,151,0,0.4,2,0,3,0
62,0,4,160,164,0,2,145,0,6.2,3,3,7,3
62,1,3,130,231,0,0,146,0,1.8,2,3,7,0
44,0,3,108,141,0,0,175,0,0.6,2,0,3,0
63,0,3,135,252,0,2,172,0,0,1,0,3,0
52,1,4,128,255,0,0,161,1,0,1,1,7,1
59,1,4,110,239,0,2,142,1,1.2,2,1,7,2
60,0,4,150,258,0,2,157,0,2.6,2,2,7,3
52,1,2,134,201,0,0,158,0,0.8,1,1,3,0
48,1,4,122,222,0,2,186,0,0,1,0,3,0
45,1,4,115,260,0,2,185,0,0,1,0,3,0
34,1,1,118,182,0,2,174,0,0,1,0,3,0
57,0,4,128,303,0,2,159,0,0,1,1,3,0
71,0,3,110,265,1,2,130,0,0,1,1,3,0
49,1,3,120,188,0,0,139,0,2,2,3,7,3
54,1,2,108,309,0,0,156,0,0,1,0,7,0
59,1,4,140,177,0,0,162,1,0,1,1,7,2
57,1,3,128,229,0,2,150,0,0.4,2,1,7,1
61,1,4,120,260,0,0,140,1,3.6,2,1,7,2
39,1,4,118,219,0,0,140,0,1.2,2,0,7,3
61,0,4,145,307,0,2,146,1,1,2,0,7,1
56,1,4,125,249,1,2,144,1,1.2,2,1,3,1
52,1,1,118,186,0,2,190,0,0,2,0,6,0
43,0,4,132,341,1,2,136,1,3,2,0,7,2
62,0,3,130,263,0,0,97,0,1.2,2,1,7,2
41,1,2,135,203,0,0,132,0,0,2,0,6,0
58,1,3,140,211,1,2,165,0,0,1,0,3,0
35,0,4,138,183,0,0,182,0,1.4,1,0,3,0
63,1,4,130,330,1,2,132,1,1.8,1,3,7,3
65,1,4,135,254,0,2,127,0,2.8,2,1,7,2
48,1,4,130,256,1,2,150,1,0,1,2,7,3
63,0,4,150,407,0,2,154,0,4,2,3,7,4
51,1,3,100,222,0,0,143,1,1.2,2,0,3,0
55,1,4,140,217,0,0,111,1,5.6,3,0,7,3
65,1,1,138,282,1,2,174,0,1.4,2,1,3,1
45,0,2,130,234,0,2,175,0,0.6,2,0,3,0
56,0,4,200,288,1,2,133,1,4,3,2,7,3
54,1,4,110,239,0,0,126,1,2.8,2,1,7,3
44,1,2,120,220,0,0,170,0,0,1,0,3,0
62,0,4,124,209,0,0,163,0,0,1,0,3,0
54,1,3,120,258,0,2,147,0,0.4,2,0,7,0
51,1,3,94,227,0,0,154,1,0,1,1,7,0
29,1,2,130,204,0,2,202,0,0,1,0,3,0
51,1,4,140,261,0,2,186,1,0,1,0,3,0
43,0,3,122,213,0,0,165,0,0.2,2,0,3,0
55,0,2,135,250,0,2,161,0,1.4,2,0,3,0
70,1,4,145,174,0,0,125,1,2.6,3,0,7,4
62,1,2,120,281,0,2,103,0,1.4,2,1,7,3
35,1,4,120,198,0,0,130,1,1.6,2,0,7,1
51,1,3,125,245,1,2,166,0,2.4,2,0,3,0
59,1,2,140,221,0,0,164,1,0,1,0,3,0
59,1,1,170,288,0,2,159,0,0.2,2,0,7,1
52,1,2,128,205,1,0,184,0,0,1,0,3,0
64,1,3,125,309,0,0,131,1,1.8,2,0,7,1
58,1,3,105,240,0,2,154,1,0.6,2,0,7,0
47,1,3,108,243,0,0,152,0,0,1,0,3,1
57,1,4,165,289,1,2,124,0,1,2,3,7,4
41,1,3,112,250,0,0,179,0,0,1,0,3,0
45,1,2,128,308,0,2,170,0,0,1,0,3,0
60,0,3,102,318,0,0,160,0,0,1,1,3,0
52,1,1,152,298,1,0,178,0,1.2,2,0,7,0
42,0,4,102,265,0,2,122,0,0.6,2,0,3,0
67,0,3,115,564,0,2,160,0,1.6,2,0,7,0
55,1,4,160,289,0,2,145,1,0.8,2,1,7,4
64,1,4,120,246,0,2,96,1,2.2,3,1,3,3
70,1,4,130,322,0,2,109,0,2.4,2,3,3,1
51,1,4,140,299,0,0,173,1,1.6,1,0,7,1
58,1,4,125,300,0,2,171,0,0,1,2,7,1
60,1,4,140,293,0,2,170,0,1.2,2,2,7,2
68,1,3,118,277,0,0,151,0,1,1,1,7,0
46,1,2,101,197,1,0,156,0,0,1,0,7,0
77,1,4,125,304,0,2,162,1,0,1,3,3,4
54,0,3,110,214,0,0,158,0,1.6,2,0,3,0
58,0,4,100,248,0,2,122,0,1,2,0,3,0
48,1,3,124,255,1,0,175,0,0,1,2,3,0
57,1,4,132,207,0,0,168,1,0,1,0,7,0
52,1,3,138,223,0,0,169,0,0,1,?,3,0
54,0,2,132,288,1,2,159,1,0,1,1,3,0
35,1,4,126,282,0,2,156,1,0,1,0,7,1
45,0,2,112,160,0,0,138,0,0,2,0,3,0
70,1,3,160,269,0,0,112,1,2.9,2,1,7,3
53,1,4,142,226,0,2,111,1,0,1,0,7,0
59,0,4,174,249,0,0,143,1,0,2,0,3,1
62,0,4,140,394,0,2,157,0,1.2,2,0,3,0
64,1,4,145,212,0,2,132,0,2,2,2,6,4
57,1,4,152,274,0,0,88,1,1.2,2,1,7,1
52,1,4,108,233,1,0,147,0,0.1,1,3,7,0
56,1,4,132,184,0,2,105,1,2.1,2,1,6,1
43,1,3,130,315,0,0,162,0,1.9,1,1,3,0
53,1,3,130,246,1,2,173,0,0,1,3,3,0
48,1,4,124,274,0,2,166,0,0.5,2,0,7,3
56,0,4,134,409,0,2,150,1,1.9,2,2,7,2
42,1,1,148,244,0,2,178,0,0.8,1,2,3,0
59,1,1,178,270,0,2,145,0,4.2,3,0,7,0
60,0,4,158,305,0,2,161,0,0,1,0,3,1
63,0,2,140,195,0,0,179,0,0,1,2,3,0
42,1,3,120,240,1,0,194,0,0.8,3,0,7,0
66,1,2,160,246,0,0,120,1,0,2,3,6,2
54,1,2,192,283,0,2,195,0,0,1,1,7,1
69,1,3,140,254,0,2,146,0,2,2,3,7,2
50,1,3,129,196,0,0,163,0,0,1,0,3,0
51,1,4,140,298,0,0,122,1,4.2,2,3,7,3
43,1,4,132,247,1,2,143,1,0.1,2,?,7,1
62,0,4,138,294,1,0,106,0,1.9,2,3,3,2
68,0,3,120,211,0,2,115,0,1.5,2,0,3,0
67,1,4,100,299,0,2,125,1,0.9,2,2,3,3
69,1,1,160,234,1,2,131,0,0.1,2,1,3,0
45,0,4,138,236,0,2,152,1,0.2,2,0,3,0
50,0,2,120,244,0,0,162,0,1.1,1,0,3,0
59,1,1,160,273,0,2,125,0,0,1,0,3,1
50,0,4,110,254,0,2,159,0,0,1,0,3,0
64,0,4,180,325,0,0,154,1,0,1,0,3,0
57,1,3,150,126,1,0,173,0,0.2,1,1,7,0
64,0,3,140,313,0,0,133,0,0.2,1,0,7,0
43,1,4,110,211,0,0,161,0,0,1,0,7,0
45,1,4,142,309,0,2,147,1,0,2,3,7,3
58,1,4,128,259,0,2,130,1,3,2,2,7,3
50,1,4,144,200,0,2,126,1,0.9,2,0,7,3
55,1,2,130,262,0,0,155,0,0,1,0,3,0
62,0,4,150,244,0,0,154,1,1.4,2,0,3,1
37,0,3,120,215,0,0,170,0,0,1,0,3,0
38,1,1,120,231,0,0,182,1,3.8,2,0,7,4
41,1,3,130,214,0,2,168,0,2,2,0,3,0
66,0,4,178,228,1,0,165,1,1,2,2,7,3
52,1,4,112,230,0,0,160,0,0,1,1,3,1
56,1,1,120,193,0,2,162,0,1.9,2,0,7,0
46,0,2,105,204,0,0,172,0,0,1,0,3,0
46,0,4,138,243,0,2,152,1,0,2,0,3,0
64,0,4,130,303,0,0,122,0,2,2,2,3,0
59,1,4,138,271,0,2,182,0,0,1,0,3,0
41,0,3,112,268,0,2,172,1,0,1,0,3,0
54,0,3,108,267,0,2,167,0,0,1,0,3,0
39,0,3,94,199,0,0,179,0,0,1,0,3,0
53,1,4,123,282,0,0,95,1,2,2,2,7,3
63,0,4,108,269,0,0,169,1,1.8,2,2,3,1
34,0,2,118,210,0,0,192,0,0.7,1,0,3,0
47,1,4,112,204,0,0,143,0,0.1,1,0,3,0
67,0,3,152,277,0,0,172,0,0,1,1,3,0
54,1,4,110,206,0,2,108,1,0,2,1,3,3
66,1,4,112,212,0,2,132,1,0.1,1,1,3,2
52,0,3,136,196,0,2,169,0,0.1,2,0,3,0
55,0,4,180,327,0,1,117,1,3.4,2,0,3,2
49,1,3,118,149,0,2,126,0,0.8,1,3,3,1
74,0,2,120,269,0,2,121,1,0.2,1,1,3,0
54,0,3,160,201,0,0,163,0,0,1,1,3,0
54,1,4,122,286,0,2,116,1,3.2,2,2,3,3
56,1,4,130,283,1,2,103,1,1.6,3,0,7,2
46,1,4,120,249,0,2,144,0,0.8,1,0,7,1
49,0,2,134,271,0,0,162,0,0,2,0,3,0
42,1,2,120,295,0,0,162,0,0,1,0,3,0
41,1,2,110,235,0,0,153,0,0,1,0,3,0
41,0,2,126,306,0,0,163,0,0,1,0,3,0
49,0,4,130,269,0,0,163,0,0,1,0,3,0
61,1,1,134,234,0,0,145,0,2.6,2,2,3,2
60,0,3,120,178,1,0,96,0,0,1,0,3,0
67,1,4,120,237,0,0,71,0,1,2,0,3,2
58,1,4,100,234,0,0,156,0,0.1,1,1,7,2
47,1,4,110,275,0,2,118,1,1,2,1,3,1
52,1,4,125,212,0,0,168,0,1,1,2,7,3
62,1,2,128,208,1,2,140,0,0,1,0,3,0
57,1,4,110,201,0,0,126,1,1.5,2,0,6,0
58,1,4,146,218,0,0,105,0,2,2,1,7,1
64,1,4,128,263,0,0,105,1,0.2,2,1,7,0
51,0,3,120,295,0,2,157,0,0.6,1,0,3,0
43,1,4,115,303,0,0,181,0,1.2,2,0,3,0
42,0,3,120,209,0,0,173,0,0,2,0,3,0
67,0,4,106,223,0,0,142,0,0.3,1,2,3,0
76,0,3,140,197,0,1,116,0,1.1,2,0,3,0
70,1,2,156,245,0,2,143,0,0,1,0,3,0
57,1,2,124,261,0,0,141,0,0.3,1,0,7,1
44,0,3,118,242,0,0,149,0,0.3,2,1,3,0
58,0,2,136,319,1,2,152,0,0,1,2,3,3
60,0,1,150,240,0,0,171,0,0.9,1,0,3,0
44,1,3,120,226,0,0,169,0,0,1,0,3,0
61,1,4,138,166,0,2,125,1,3.6,2,1,3,4
42,1,4,136,315,0,0,125,1,1.8,2,0,6,2
52,1,4,128,204,1,0,156,1,1,2,0,?,2
59,1,3,126,218,1,0,134,0,2.2,2,1,6,2
40,1,4,152,223,0,0,181,0,0,1,0,7,1
42,1,3,130,180,0,0,150,0,0,1,0,3,0
61,1,4,140,207,0,2,138,1,1.9,1,1,7,1
66,1,4,160,228,0,2,138,0,2.3,1,0,6,0
46,1,4,140,311,0,0,120,1,1.8,2,2,7,2
71,0,4,112,149,0,0,125,0,1.6,2,0,3,0
59,1,1,134,204,0,0,162,0,0.8,1,2,3,1
64,1,1,170,227,0,2,155,0,0.6,2,0,7,0
66,0,3,146,278,0,2,152,0,0,2,1,3,0
39,0,3,138,220,0,0,152,0,0,2,0,3,0
57,1,2,154,232,0,2,164,0,0,1,1,3,1
58,0,4,130,197,0,0,131,0,0.6,2,0,3,0
57,1,4,110,335,0,0,143,1,3,2,1,7,2
47,1,3,130,253,0,0,179,0,0,1,0,3,0
55,0,4,128,205,0,1,130,1,2,2,1,7,3
35,1,2,122,192,0,0,174,0,0,1,0,3,0
61,1,4,148,203,0,0,161,0,0,1,1,7,2
58,1,4,114,318,0,1,140,0,4.4,3,3,6,4
58,0,4,170,225,1,2,146,1,2.8,2,2,6,2
58,1,2,125,220,0,0,144,0,0.4,2,?,7,0
56,1,2,130,221,0,2,163,0,0,1,0,7,0
56,1,2,120,240,0,0,169,0,0,3,0,3,0
67,1,3,152,212,0,2,150,0,0.8,2,0,7,1
55,0,2,132,342,0,0,166,0,1.2,1,0,3,0
44,1,4,120,169,0,0,144,1,2.8,3,0,6,2
63,1,4,140,187,0,2,144,1,4,1,2,7,2
63,0,4,124,197,0,0,136,1,0,2,0,3,1
41,1,2,120,157,0,0,182,0,0,1,0,3,0
59,1,4,164,176,1,2,90,0,1,2,2,6,3
57,0,4,140,241,0,0,123,1,0.2,2,0,7,1
45,1,1,110,264,0,0,132,0,1.2,2,0,7,1
68,1,4,144,193,1,0,141,0,3.4,2,2,7,2
57,1,4,130,131,0,0,115,1,1.2,2,1,7,3
57,0,2,130,236,0,2,174,0,0,2,1,3,1
38,1,3,138,175,0,0,173,0,0,1,?,3,0
\ No newline at end of file
diff --git a/notebooks/filewriting/sample.txt b/notebooks/filewriting/sample.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/notebooks/filewriting/states.csv b/notebooks/filewriting/states.csv
deleted file mode 100644
index 05be060..0000000
--- a/notebooks/filewriting/states.csv
+++ /dev/null
@@ -1,6 +0,0 @@
-state bird,year in union,population,state,capital
-Northern cardinal,1803,11.6,Ohio,Columbus
-,1837,9.9,Michigan,Lansing
-California quail,1850,39.1,California,Sacramento
-,1834,20.2,Florida,Tallahassee
-,1819,4.9,Alabama,Montgomery
diff --git a/notebooks/more_python_basics.ipynb b/notebooks/more_python_basics.ipynb
deleted file mode 100644
index 6a15027..0000000
--- a/notebooks/more_python_basics.ipynb
+++ /dev/null
@@ -1,576 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# More Python Basics"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Welcome back! This week we will cover some more basic Python stuff. Specifically:\n",
- "* Code readability and comments\n",
- "* Import statements\n",
- "* Control flow\n",
- "* Dictionaries\n",
- "\n",
- "We will also work on writing some basic functions to pull what we've learned together."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Code readability"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "When writing code, it is very important to keep in mind that you'll need to make sense of it later. There are a lot of ways to make your code more readable. Here are a few:\n",
- "* Practicing Python naming conventions\n",
- "* \"Decomposing\" problems\n",
- "* Adding comments"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Python naming conventions"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "In most programming languages, there is a standard way of naming variables and functions. Some common ones are:\n",
- "* Camel case: yourVariableNameHere\n",
- "* Underscores: your_variable_name_here\n",
- "\n",
- "In Python, we use the underscore technique. We never use uppercase letters, except in the case of \"[enums](http://pythoncentral.io/how-to-implement-an-enum-in-python/)\" - these are static variables whose values should never change. These are rarely used, though, so it's best to assume that we won't use capitalization. Here's some sample code to demonstrate that."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "my_age = 0\n",
- "\n",
- "def how_many_birthdays_til_im_50(age):\n",
- " return 50 - age\n",
- "\n",
- "how_many_birthdays_til_im_50(my_age)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Decomposing problems"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Another important technique in writing good code is breaking problems down. In many cases, within a function, you will perform several operations. It is often best to \"abstract\" these methods away. Write new sub-functions and call them within your greater function, so you don't have one 50-line function."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "def mother_function(num):\n",
- " original = num\n",
- " num = add_five(num)\n",
- " num = double(num)\n",
- " num = subtract_four(num)\n",
- " num = halve(num)\n",
- " num = subtract(num, original)\n",
- " return num\n",
- "\n",
- "def add_five(num):\n",
- " return num + 5\n",
- "\n",
- "def double(num):\n",
- " return 2 * num\n",
- "\n",
- "def subtract_four(num):\n",
- " return num - 4\n",
- "\n",
- "def halve(num):\n",
- " return num / 2\n",
- "\n",
- "def subtract(num1, num2):\n",
- " return num1 - num2\n",
- "\n",
- "mother_function(37)\n",
- " "
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "collapsed": true
- },
- "source": [
- "Try messing around with the inputs to this function. What does it return? How might you rename the outer function to clarify its purpose?"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Comments"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "A final (very important!) trick to writing good code is adding comments. This may seem trivial, but if you don't explain your thought process for a piece of code, it can be very difficult to figure out later.\n",
- "\n",
- "There are several ways to write comments in your code:\n",
- "* `#` and `##` denote one-line comments\n",
- "* `\"\"\" x \"\"\"`: triple quotation marks denote multiple-line comments\n",
- "\n",
- "Sometimes it is even good practice to give examples of input/output pairs in the comments, so that users know what they should expect when using the function. Here is some sample code to demonstrate this."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "## This is our function.\n",
- "def func(x):\n",
- " \"\"\" We take in a number x and square it.\n",
- " Sample input/output pairs:\n",
- " 3 : 9\n",
- " 6 : 36\n",
- " 7 : 49\n",
- " \"\"\"\n",
- " return x * x\n",
- "\n",
- "func(5)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Import statements"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Import statements allow you to import pre-defined Python libraries as well as local files. This allows for us to avoid rewriting methods that are already available for use. Some common libraries that we will use this semester are `matplotlib`, `scipy`, and `numpy`.\n",
- "\n",
- "To write an import statement, simply write \"`import` + the name of your library\".\n",
- "\n",
- "In some cases, the name of your library will be long, so you will want to use an abbreviation to refer to that library. In that case, you would write \"`import` + the name of your library + `as` + the library's nickname\".\n",
- "\n",
- "It is typical to put all import statements at the top of your file. Here is some sample code to demonstrate this."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "%pylab inline\n",
- "import numpy as np\n",
- "import matplotlib.pyplot as plt\n",
- "import math\n",
- "\n",
- "plt.plot([1, 2, 3, 4, 5], [1000, 10000, 100000, 500000, 1000000])\n",
- "plt.xlabel('Time (months)')\n",
- "plt.ylabel('$$$')\n",
- "plt.axis([0, 5, 0, 1000000])\n",
- "plt.title('Average salaries of people who know Python')\n",
- "plt.show()\n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Control flow"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "When writing code, we need to establish a very clear set of instructions to follow in order for our program to work properly. Just as we covered with while loops, we might want our program to act according to the value of some condition. A simple real-life example of this would be \"pour water into the glass while it is not full.\"\n",
- "\n",
- "Similarly, we might have a condition that determines between two actions or operations at any given time. For example, \"if I'm running late, I should walk faster; otherwise, I can relax.\""
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### If, else, and elif"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "In Python, these conditional statements take the form of \"`if` / `else`\" statements.\n",
- "\n",
- "Aside from \"`if`\" and \"`else`\", there is one more case, called \"`elif`.\" This is short for \"`else if`.\" `elif` is useful when you want to check that multiple conditions are true (or untrue) before you end up at your default `else` case. \n",
- "\n",
- "Here is some sample code to demonstrate this idea."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "\"\"\" The syntax of an if, then statement is as follows:\n",
- " if (boolean condition):\n",
- " do something\n",
- " else:\n",
- " do something else\n",
- "\"\"\"\n",
- "\n",
- "def compare_to_five(num):\n",
- " if num < 5:\n",
- " print(\"Your number, \" + str(num) + \", is less than 5.\")\n",
- " if num == 4:\n",
- " print(\"You input 4\")\n",
- " elif num == 5:\n",
- " print(\"Your number, \" + str(num) + \", is equal to 5.\")\n",
- " else:\n",
- " print(\"Your number, \" + str(num) + \", is greater than 5.\")\n",
- " \n",
- "compare_to_five(4)\n",
- "compare_to_five(11)\n",
- "compare_to_five(5)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Boolean Conditionals"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "To have greater control when checking conditions in `if` statements, we have the options of using `and`, `or`, and `not` to combine or modify boolean expressions. When using these keywords, the boolean value of the entire expression is evaluated.\n",
- "\n",
- "For an `and` statement to be `True`, both sub-expressions must evaluate to `True`. If one or both of the sub-expressions is `False`, the entire statement evaluates to `False`. Try to predict the outcome, `True` or `False`, of each of the expressions below before running the code:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "print(True and True)\n",
- "print(False and False)\n",
- "print(False and True)\n",
- "print(5 > 2 and 3 == 3)\n",
- "print(8 * 8 < 1 and 4 - 1 == 3)\n",
- "print(False and 1/0)\n",
- "print('Hello' == 'Hello' and True != False)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "For an `or` statement to be `True`, only one of its sub-expressions has to be `True`. This means that the only time when an `or` statement evaluates to `False` is when both of its sub-expressions are `False`. For exampe:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "print(True or True)\n",
- "print(False or False)\n",
- "print(True or False)\n",
- "print(6 != 6 or \"apple\" == 'apple')\n",
- "print(1 + 1 == 2 or True)\n",
- "print(True or 1/0)\n",
- "print(\"p\" == \"q\" or 5 > 6)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "A `not` statement negates the boolean value of its sub-expression. `True` becomes `False`, and `False` becomes `True`. Unlike `and` and `or`, `not` has only one sub-expression. Try the code below:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "print(not True)\n",
- "print(not False)\n",
- "print(not 2 + 2 == 4)\n",
- "print(not 5 != 5)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "We can also combine `and`, `or`, and `not`. To make code easier to read, you can use parentheses to establish the precedence of `and`, `or`, and `not` operators. Otherwise, the default order of precedence is `not` over `and` over `or`:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "print((True or False) and True)\n",
- "print((False and False) or not False)\n",
- "print((not False) and True)\n",
- "print(not True or False)\n",
- "print((3 * 3 == 9 and 3 > 2) or not 1 != 1)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Boolean logic expression are often used within `if` statements:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "if (3 * 4 == 12 and not \"hi\" == \"hi\"):\n",
- " print(\"The first condition is true!\")\n",
- "elif (not True or 7 == 7):\n",
- " print(\"The second condition is true!\")\n",
- "else:\n",
- " print(\"Neither condition is true!\")"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Dictionaries"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "collapsed": true
- },
- "source": [
- "Dictionaries are another kind of data structure in Python, designed around key-value pairs, where you use the key to access the value. They are created with curly braces `{}`, and key-value pairs are separated by a colon. The keys and values can be almost any data type. For example, in the code below, the keys are strings (the names) and the values are integers (the ages):"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "ages = {\"jack\": 25, \"sue\": 12, \"joe\": 44, \"sally\": 30}\n",
- "jack_age = ages[\"jack\"]\n",
- "\n",
- "print(\"The dictionary is: \" + str(ages))\n",
- "\n",
- "print(\"Jack is \" + str(jack_age) + \" years old.\")"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Adding a new value into the dictionary is similar to accessing a value with a key:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "print(\"Dictionary before adding 'fred': \" + str(ages))\n",
- "ages[\"fred\"] = 28\n",
- "print(\"Dictionary after adding 'fred': \" + str(ages))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "To delete a key value pair, use the `del` keyword:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "print(\"Dictionary before deleting 'sue': \" + str(ages))\n",
- "del ages[\"sue\"]\n",
- "print(\"Dictionary after deleting 'sue': \" + str(ages))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Note that unlike lists, dictionaries aren't ordered. You can still iterate (use loops) over them, but you can't count on the key-value pairs to be in any specific order. For example, the code below uses a `for` loop to add 10 to every age:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "print(\"Before the for loop: \" + str(ages))\n",
- "for i in ages:\n",
- " ages[i] += 10\n",
- "print(\"After the for loop: \" + str(ages))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "collapsed": true
- },
- "source": [
- "## Coding Challenge"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Now you're ready to put your new skills to the test! Pair up with someone and tackle this coding challenge:\n",
- "\n",
- "Write a function that takes in two inputs: a number x, and a list of numbers. Return true if x is in the list of numbers. Return false otherwise.\n",
- "\n",
- "Good luck! :)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "collapsed": true
- },
- "source": [
- "If you finish early, try writing a function that takes in a list and squares every other number in the list."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "def square_every_other(lst):\n",
- " even = True\n",
- " for i in range(len(lst)):\n",
- " if (even):\n",
- " lst[i] = lst[i] * lst[i]\n",
- " even = False\n",
- " else:\n",
- " even = True\n",
- " return lst\n",
- "\n",
- "square_every_other([1, 2, 3, 4, 5])"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": []
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.4.5"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 0
-}
diff --git a/notebooks/numpy/Intro_to_Numpy.ipynb b/notebooks/numpy/Intro_to_Numpy.ipynb
deleted file mode 100644
index a18aec0..0000000
--- a/notebooks/numpy/Intro_to_Numpy.ipynb
+++ /dev/null
@@ -1,1281 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# Intro to Numpy"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Today we will be doing an introduction to the Python library [Numpy](https://docs.scipy.org/doc/numpy-1.10.0/user/basics.html). Numpy uses its own data structure, an array, to do numerical computations. The Numpy library is often used in scientific and engineering contexts for doing data manipulation.\n",
- "\n",
- "For reference, here's a link to the official [Numpy documentation](https://docs.scipy.org/doc/numpy/reference/routines.html)."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 1,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "## An import statement for getting the Numpy library:\n",
- "import numpy as np\n",
- "## Also import csv to process the data file (black magic for now):\n",
- "import csv"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Numpy Arrays"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 3,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[1 2 3]\n",
- "[1, 2, 3]\n"
- ]
- }
- ],
- "source": [
- "# Example problem with numpy array\n",
- "lst = [1, 2, 3]\n",
- "values = np.array(lst)\n",
- "print(values)\n",
- "print(lst)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 4,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[[1 2 3]\n",
- " [4 5 6]\n",
- " [7 8 9]]\n"
- ]
- }
- ],
- "source": [
- "# Example problem with multidimensional numpy array\n",
- "lst = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]\n",
- "values = np.array(lst)\n",
- "print(values)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Cleveland Heart Disease Dataset"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "In order to demonstrate the power of the Numpy library, we first needed a dataset to work on. We selected a clean text file of heart disease data, which we got from the [UCI website](https://archive.ics.uci.edu/ml/datasets/Heart+Disease). Take a moment to review the website and get a feel for the dataset."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Now that we're acquainted with the dataset, let's write the data into a matrix so that we can perform calculations on it. Below we will use the Python CSV library to read from the CSV file; we'll learn these techniques later in the semester."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 6,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "\"\"\"\n",
- "As we saw on the website, the 14 attributes used in the published\n",
- "experiment are as follows. We will use these fields to retrieve\n",
- "data from the CSV file, and write them into a list of Numpy arrays.\n",
- "\"\"\"\n",
- "fields = [\"age\", \"sex\", \"chest_pain_type\", \"rest_blood_pressure\",\n",
- " \"cholestoral\", \"fasting_blood_sugar\",\"rest_ecg\", \"max_hr\",\n",
- " \"ex_ang\", \"oldpeak\", \"slope\", \"ca\", \"thal\", \"num\"]"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 8,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[array([ 63. , 1. , 1. , 145. , 233. , 1. , 2. , 150. ,\n",
- " 0. , 2.3, 3. , 0. , 6. , 0. ]), array([ 67. , 1. , 4. , 160. , 286. , 0. , 2. , 108. ,\n",
- " 1. , 1.5, 2. , 3. , 3. , 2. ]), array([ 67. , 1. , 4. , 120. , 229. , 0. , 2. , 129. ,\n",
- " 1. , 2.6, 2. , 2. , 7. , 1. ]), array([ 37. , 1. , 3. , 130. , 250. , 0. , 0. , 187. ,\n",
- " 0. , 3.5, 3. , 0. , 3. , 0. ]), array([ 41. , 0. , 2. , 130. , 204. , 0. , 2. , 172. ,\n",
- " 0. , 1.4, 1. , 0. , 3. , 0. ]), array([ 56. , 1. , 2. , 120. , 236. , 0. , 0. , 178. ,\n",
- " 0. , 0.8, 1. , 0. , 3. , 0. ]), array([ 62. , 0. , 4. , 140. , 268. , 0. , 2. , 160. ,\n",
- " 0. , 3.6, 3. , 2. , 3. , 3. ]), array([ 57. , 0. , 4. , 120. , 354. , 0. , 0. , 163. ,\n",
- " 1. , 0.6, 1. , 0. , 3. , 0. ]), array([ 63. , 1. , 4. , 130. , 254. , 0. , 2. , 147. ,\n",
- " 0. , 1.4, 2. , 1. , 7. , 2. ]), array([ 53. , 1. , 4. , 140. , 203. , 1. , 2. , 155. ,\n",
- " 1. , 3.1, 3. , 0. , 7. , 1. ]), array([ 57. , 1. , 4. , 140. , 192. , 0. , 0. , 148. ,\n",
- " 0. , 0.4, 2. , 0. , 6. , 0. ]), array([ 56. , 0. , 2. , 140. , 294. , 0. , 2. , 153. ,\n",
- " 0. , 1.3, 2. , 0. , 3. , 0. ]), array([ 56. , 1. , 3. , 130. , 256. , 1. , 2. , 142. ,\n",
- " 1. , 0.6, 2. , 1. , 6. , 2. ]), array([ 44., 1., 2., 120., 263., 0., 0., 173., 0.,\n",
- " 0., 1., 0., 7., 0.]), array([ 52. , 1. , 3. , 172. , 199. , 1. , 0. , 162. ,\n",
- " 0. , 0.5, 1. , 0. , 7. , 0. ]), array([ 57. , 1. , 3. , 150. , 168. , 0. , 0. , 174. ,\n",
- " 0. , 1.6, 1. , 0. , 3. , 0. ]), array([ 48., 1., 2., 110., 229., 0., 0., 168., 0.,\n",
- " 1., 3., 0., 7., 1.]), array([ 54. , 1. , 4. , 140. , 239. , 0. , 0. , 160. ,\n",
- " 0. , 1.2, 1. , 0. , 3. , 0. ]), array([ 4.80000000e+01, 0.00000000e+00, 3.00000000e+00,\n",
- " 1.30000000e+02, 2.75000000e+02, 0.00000000e+00,\n",
- " 0.00000000e+00, 1.39000000e+02, 0.00000000e+00,\n",
- " 2.00000000e-01, 1.00000000e+00, 0.00000000e+00,\n",
- " 3.00000000e+00, 0.00000000e+00]), array([ 49. , 1. , 2. , 130. , 266. , 0. , 0. , 171. ,\n",
- " 0. , 0.6, 1. , 0. , 3. , 0. ]), array([ 64. , 1. , 1. , 110. , 211. , 0. , 2. , 144. ,\n",
- " 1. , 1.8, 2. , 0. , 3. , 0. ]), array([ 58., 0., 1., 150., 283., 1., 2., 162., 0.,\n",
- " 1., 1., 0., 3., 0.]), array([ 58. , 1. , 2. , 120. , 284. , 0. , 2. , 160. ,\n",
- " 0. , 1.8, 2. , 0. , 3. , 1. ]), array([ 58. , 1. , 3. , 132. , 224. , 0. , 2. , 173. ,\n",
- " 0. , 3.2, 1. , 2. , 7. , 3. ]), array([ 60. , 1. , 4. , 130. , 206. , 0. , 2. , 132. ,\n",
- " 1. , 2.4, 2. , 2. , 7. , 4. ]), array([ 50. , 0. , 3. , 120. , 219. , 0. , 0. , 158. ,\n",
- " 0. , 1.6, 2. , 0. , 3. , 0. ]), array([ 58., 0., 3., 120., 340., 0., 0., 172., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 66. , 0. , 1. , 150. , 226. , 0. , 0. , 114. ,\n",
- " 0. , 2.6, 3. , 0. , 3. , 0. ]), array([ 43. , 1. , 4. , 150. , 247. , 0. , 0. , 171. ,\n",
- " 0. , 1.5, 1. , 0. , 3. , 0. ]), array([ 40., 1., 4., 110., 167., 0., 2., 114., 1.,\n",
- " 2., 2., 0., 7., 3.]), array([ 69. , 0. , 1. , 140. , 239. , 0. , 0. , 151. ,\n",
- " 0. , 1.8, 1. , 2. , 3. , 0. ]), array([ 60. , 1. , 4. , 117. , 230. , 1. , 0. , 160. ,\n",
- " 1. , 1.4, 1. , 2. , 7. , 2. ]), array([ 64., 1., 3., 140., 335., 0., 0., 158., 0.,\n",
- " 0., 1., 0., 3., 1.]), array([ 59. , 1. , 4. , 135. , 234. , 0. , 0. , 161. ,\n",
- " 0. , 0.5, 2. , 0. , 7. , 0. ]), array([ 44. , 1. , 3. , 130. , 233. , 0. , 0. , 179. ,\n",
- " 1. , 0.4, 1. , 0. , 3. , 0. ]), array([ 42., 1., 4., 140., 226., 0., 0., 178., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 43. , 1. , 4. , 120. , 177. , 0. , 2. , 120. ,\n",
- " 1. , 2.5, 2. , 0. , 7. , 3. ]), array([ 57. , 1. , 4. , 150. , 276. , 0. , 2. , 112. ,\n",
- " 1. , 0.6, 2. , 1. , 6. , 1. ]), array([ 55. , 1. , 4. , 132. , 353. , 0. , 0. , 132. ,\n",
- " 1. , 1.2, 2. , 1. , 7. , 3. ]), array([ 61., 1., 3., 150., 243., 1., 0., 137., 1.,\n",
- " 1., 2., 0., 3., 0.]), array([ 65., 0., 4., 150., 225., 0., 2., 114., 0.,\n",
- " 1., 2., 3., 7., 4.]), array([ 40. , 1. , 1. , 140. , 199. , 0. , 0. , 178. ,\n",
- " 1. , 1.4, 1. , 0. , 7. , 0. ]), array([ 71. , 0. , 2. , 160. , 302. , 0. , 0. , 162. ,\n",
- " 0. , 0.4, 1. , 2. , 3. , 0. ]), array([ 59. , 1. , 3. , 150. , 212. , 1. , 0. , 157. ,\n",
- " 0. , 1.6, 1. , 0. , 3. , 0. ]), array([ 61., 0., 4., 130., 330., 0., 2., 169., 0.,\n",
- " 0., 1., 0., 3., 1.]), array([ 58. , 1. , 3. , 112. , 230. , 0. , 2. , 165. ,\n",
- " 0. , 2.5, 2. , 1. , 7. , 4. ]), array([ 51. , 1. , 3. , 110. , 175. , 0. , 0. , 123. ,\n",
- " 0. , 0.6, 1. , 0. , 3. , 0. ]), array([ 50. , 1. , 4. , 150. , 243. , 0. , 2. , 128. ,\n",
- " 0. , 2.6, 2. , 0. , 7. , 4. ]), array([ 65. , 0. , 3. , 140. , 417. , 1. , 2. , 157. ,\n",
- " 0. , 0.8, 1. , 1. , 3. , 0. ]), array([ 53. , 1. , 3. , 130. , 197. , 1. , 2. , 152. ,\n",
- " 0. , 1.2, 3. , 0. , 3. , 0. ]), array([ 41., 0., 2., 105., 198., 0., 0., 168., 0.,\n",
- " 0., 1., 1., 3., 0.]), array([ 65. , 1. , 4. , 120. , 177. , 0. , 0. , 140. ,\n",
- " 0. , 0.4, 1. , 0. , 7. , 0. ]), array([ 44., 1., 4., 112., 290., 0., 2., 153., 0.,\n",
- " 0., 1., 1., 3., 2.]), array([ 44., 1., 2., 130., 219., 0., 2., 188., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 60. , 1. , 4. , 130. , 253. , 0. , 0. , 144. ,\n",
- " 1. , 1.4, 1. , 1. , 7. , 1. ]), array([ 54. , 1. , 4. , 124. , 266. , 0. , 2. , 109. ,\n",
- " 1. , 2.2, 2. , 1. , 7. , 1. ]), array([ 50. , 1. , 3. , 140. , 233. , 0. , 0. , 163. ,\n",
- " 0. , 0.6, 2. , 1. , 7. , 1. ]), array([ 41., 1., 4., 110., 172., 0., 2., 158., 0.,\n",
- " 0., 1., 0., 7., 1.]), array([ 54. , 1. , 3. , 125. , 273. , 0. , 2. , 152. ,\n",
- " 0. , 0.5, 3. , 1. , 3. , 0. ]), array([ 51. , 1. , 1. , 125. , 213. , 0. , 2. , 125. ,\n",
- " 1. , 1.4, 1. , 1. , 3. , 0. ]), array([ 51. , 0. , 4. , 130. , 305. , 0. , 0. , 142. ,\n",
- " 1. , 1.2, 2. , 0. , 7. , 2. ]), array([ 46. , 0. , 3. , 142. , 177. , 0. , 2. , 160. ,\n",
- " 1. , 1.4, 3. , 0. , 3. , 0. ]), array([ 58. , 1. , 4. , 128. , 216. , 0. , 2. , 131. ,\n",
- " 1. , 2.2, 2. , 3. , 7. , 1. ]), array([ 54., 0., 3., 135., 304., 1., 0., 170., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 54. , 1. , 4. , 120. , 188. , 0. , 0. , 113. ,\n",
- " 0. , 1.4, 2. , 1. , 7. , 2. ]), array([ 60. , 1. , 4. , 145. , 282. , 0. , 2. , 142. ,\n",
- " 1. , 2.8, 2. , 2. , 7. , 2. ]), array([ 60., 1., 3., 140., 185., 0., 2., 155., 0.,\n",
- " 3., 2., 0., 3., 1.]), array([ 54. , 1. , 3. , 150. , 232. , 0. , 2. , 165. ,\n",
- " 0. , 1.6, 1. , 0. , 7. , 0. ]), array([ 59. , 1. , 4. , 170. , 326. , 0. , 2. , 140. ,\n",
- " 1. , 3.4, 3. , 0. , 7. , 2. ]), array([ 46. , 1. , 3. , 150. , 231. , 0. , 0. , 147. ,\n",
- " 0. , 3.6, 2. , 0. , 3. , 1. ]), array([ 65. , 0. , 3. , 155. , 269. , 0. , 0. , 148. ,\n",
- " 0. , 0.8, 1. , 0. , 3. , 0. ]), array([ 6.70000000e+01, 1.00000000e+00, 4.00000000e+00,\n",
- " 1.25000000e+02, 2.54000000e+02, 1.00000000e+00,\n",
- " 0.00000000e+00, 1.63000000e+02, 0.00000000e+00,\n",
- " 2.00000000e-01, 2.00000000e+00, 2.00000000e+00,\n",
- " 7.00000000e+00, 3.00000000e+00]), array([ 62. , 1. , 4. , 120. , 267. , 0. , 0. , 99. ,\n",
- " 1. , 1.8, 2. , 2. , 7. , 1. ]), array([ 65. , 1. , 4. , 110. , 248. , 0. , 2. , 158. ,\n",
- " 0. , 0.6, 1. , 2. , 6. , 1. ]), array([ 44., 1., 4., 110., 197., 0., 2., 177., 0.,\n",
- " 0., 1., 1., 3., 1.]), array([ 65. , 0. , 3. , 160. , 360. , 0. , 2. , 151. ,\n",
- " 0. , 0.8, 1. , 0. , 3. , 0. ]), array([ 60. , 1. , 4. , 125. , 258. , 0. , 2. , 141. ,\n",
- " 1. , 2.8, 2. , 1. , 7. , 1. ]), array([ 51. , 0. , 3. , 140. , 308. , 0. , 2. , 142. ,\n",
- " 0. , 1.5, 1. , 1. , 3. , 0. ]), array([ 4.80000000e+01, 1.00000000e+00, 2.00000000e+00,\n",
- " 1.30000000e+02, 2.45000000e+02, 0.00000000e+00,\n",
- " 2.00000000e+00, 1.80000000e+02, 0.00000000e+00,\n",
- " 2.00000000e-01, 2.00000000e+00, 0.00000000e+00,\n",
- " 3.00000000e+00, 0.00000000e+00]), array([ 58. , 1. , 4. , 150. , 270. , 0. , 2. , 111. ,\n",
- " 1. , 0.8, 1. , 0. , 7. , 3. ]), array([ 45., 1., 4., 104., 208., 0., 2., 148., 1.,\n",
- " 3., 2., 0., 3., 0.]), array([ 53. , 0. , 4. , 130. , 264. , 0. , 2. , 143. ,\n",
- " 0. , 0.4, 2. , 0. , 3. , 0. ]), array([ 39., 1., 3., 140., 321., 0., 2., 182., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 68. , 1. , 3. , 180. , 274. , 1. , 2. , 150. ,\n",
- " 1. , 1.6, 2. , 0. , 7. , 3. ]), array([ 5.20000000e+01, 1.00000000e+00, 2.00000000e+00,\n",
- " 1.20000000e+02, 3.25000000e+02, 0.00000000e+00,\n",
- " 0.00000000e+00, 1.72000000e+02, 0.00000000e+00,\n",
- " 2.00000000e-01, 1.00000000e+00, 0.00000000e+00,\n",
- " 3.00000000e+00, 0.00000000e+00]), array([ 44., 1., 3., 140., 235., 0., 2., 180., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 47., 1., 3., 138., 257., 0., 2., 156., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 53., 0., 3., 128., 216., 0., 2., 115., 0.,\n",
- " 0., 1., 0., 0., 0.]), array([ 53., 0., 4., 138., 234., 0., 2., 160., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 51. , 0. , 3. , 130. , 256. , 0. , 2. , 149. ,\n",
- " 0. , 0.5, 1. , 0. , 3. , 0. ]), array([ 66. , 1. , 4. , 120. , 302. , 0. , 2. , 151. ,\n",
- " 0. , 0.4, 2. , 0. , 3. , 0. ]), array([ 62. , 0. , 4. , 160. , 164. , 0. , 2. , 145. ,\n",
- " 0. , 6.2, 3. , 3. , 7. , 3. ]), array([ 62. , 1. , 3. , 130. , 231. , 0. , 0. , 146. ,\n",
- " 0. , 1.8, 2. , 3. , 7. , 0. ]), array([ 44. , 0. , 3. , 108. , 141. , 0. , 0. , 175. ,\n",
- " 0. , 0.6, 2. , 0. , 3. , 0. ]), array([ 63., 0., 3., 135., 252., 0., 2., 172., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 52., 1., 4., 128., 255., 0., 0., 161., 1.,\n",
- " 0., 1., 1., 7., 1.]), array([ 59. , 1. , 4. , 110. , 239. , 0. , 2. , 142. ,\n",
- " 1. , 1.2, 2. , 1. , 7. , 2. ]), array([ 60. , 0. , 4. , 150. , 258. , 0. , 2. , 157. ,\n",
- " 0. , 2.6, 2. , 2. , 7. , 3. ]), array([ 52. , 1. , 2. , 134. , 201. , 0. , 0. , 158. ,\n",
- " 0. , 0.8, 1. , 1. , 3. , 0. ]), array([ 48., 1., 4., 122., 222., 0., 2., 186., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 45., 1., 4., 115., 260., 0., 2., 185., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 34., 1., 1., 118., 182., 0., 2., 174., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 57., 0., 4., 128., 303., 0., 2., 159., 0.,\n",
- " 0., 1., 1., 3., 0.]), array([ 71., 0., 3., 110., 265., 1., 2., 130., 0.,\n",
- " 0., 1., 1., 3., 0.]), array([ 49., 1., 3., 120., 188., 0., 0., 139., 0.,\n",
- " 2., 2., 3., 7., 3.]), array([ 54., 1., 2., 108., 309., 0., 0., 156., 0.,\n",
- " 0., 1., 0., 7., 0.]), array([ 59., 1., 4., 140., 177., 0., 0., 162., 1.,\n",
- " 0., 1., 1., 7., 2.]), array([ 57. , 1. , 3. , 128. , 229. , 0. , 2. , 150. ,\n",
- " 0. , 0.4, 2. , 1. , 7. , 1. ]), array([ 61. , 1. , 4. , 120. , 260. , 0. , 0. , 140. ,\n",
- " 1. , 3.6, 2. , 1. , 7. , 2. ]), array([ 39. , 1. , 4. , 118. , 219. , 0. , 0. , 140. ,\n",
- " 0. , 1.2, 2. , 0. , 7. , 3. ]), array([ 61., 0., 4., 145., 307., 0., 2., 146., 1.,\n",
- " 1., 2., 0., 7., 1.]), array([ 56. , 1. , 4. , 125. , 249. , 1. , 2. , 144. ,\n",
- " 1. , 1.2, 2. , 1. , 3. , 1. ]), array([ 52., 1., 1., 118., 186., 0., 2., 190., 0.,\n",
- " 0., 2., 0., 6., 0.]), array([ 43., 0., 4., 132., 341., 1., 2., 136., 1.,\n",
- " 3., 2., 0., 7., 2.]), array([ 62. , 0. , 3. , 130. , 263. , 0. , 0. , 97. ,\n",
- " 0. , 1.2, 2. , 1. , 7. , 2. ]), array([ 41., 1., 2., 135., 203., 0., 0., 132., 0.,\n",
- " 0., 2., 0., 6., 0.]), array([ 58., 1., 3., 140., 211., 1., 2., 165., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 35. , 0. , 4. , 138. , 183. , 0. , 0. , 182. ,\n",
- " 0. , 1.4, 1. , 0. , 3. , 0. ]), array([ 63. , 1. , 4. , 130. , 330. , 1. , 2. , 132. ,\n",
- " 1. , 1.8, 1. , 3. , 7. , 3. ]), array([ 65. , 1. , 4. , 135. , 254. , 0. , 2. , 127. ,\n",
- " 0. , 2.8, 2. , 1. , 7. , 2. ]), array([ 48., 1., 4., 130., 256., 1., 2., 150., 1.,\n",
- " 0., 1., 2., 7., 3.]), array([ 63., 0., 4., 150., 407., 0., 2., 154., 0.,\n",
- " 4., 2., 3., 7., 4.]), array([ 51. , 1. , 3. , 100. , 222. , 0. , 0. , 143. ,\n",
- " 1. , 1.2, 2. , 0. , 3. , 0. ]), array([ 55. , 1. , 4. , 140. , 217. , 0. , 0. , 111. ,\n",
- " 1. , 5.6, 3. , 0. , 7. , 3. ]), array([ 65. , 1. , 1. , 138. , 282. , 1. , 2. , 174. ,\n",
- " 0. , 1.4, 2. , 1. , 3. , 1. ]), array([ 45. , 0. , 2. , 130. , 234. , 0. , 2. , 175. ,\n",
- " 0. , 0.6, 2. , 0. , 3. , 0. ]), array([ 56., 0., 4., 200., 288., 1., 2., 133., 1.,\n",
- " 4., 3., 2., 7., 3.]), array([ 54. , 1. , 4. , 110. , 239. , 0. , 0. , 126. ,\n",
- " 1. , 2.8, 2. , 1. , 7. , 3. ]), array([ 44., 1., 2., 120., 220., 0., 0., 170., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 62., 0., 4., 124., 209., 0., 0., 163., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 54. , 1. , 3. , 120. , 258. , 0. , 2. , 147. ,\n",
- " 0. , 0.4, 2. , 0. , 7. , 0. ]), array([ 51., 1., 3., 94., 227., 0., 0., 154., 1.,\n",
- " 0., 1., 1., 7., 0.]), array([ 29., 1., 2., 130., 204., 0., 2., 202., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 51., 1., 4., 140., 261., 0., 2., 186., 1.,\n",
- " 0., 1., 0., 3., 0.]), array([ 4.30000000e+01, 0.00000000e+00, 3.00000000e+00,\n",
- " 1.22000000e+02, 2.13000000e+02, 0.00000000e+00,\n",
- " 0.00000000e+00, 1.65000000e+02, 0.00000000e+00,\n",
- " 2.00000000e-01, 2.00000000e+00, 0.00000000e+00,\n",
- " 3.00000000e+00, 0.00000000e+00]), array([ 55. , 0. , 2. , 135. , 250. , 0. , 2. , 161. ,\n",
- " 0. , 1.4, 2. , 0. , 3. , 0. ]), array([ 70. , 1. , 4. , 145. , 174. , 0. , 0. , 125. ,\n",
- " 1. , 2.6, 3. , 0. , 7. , 4. ]), array([ 62. , 1. , 2. , 120. , 281. , 0. , 2. , 103. ,\n",
- " 0. , 1.4, 2. , 1. , 7. , 3. ]), array([ 35. , 1. , 4. , 120. , 198. , 0. , 0. , 130. ,\n",
- " 1. , 1.6, 2. , 0. , 7. , 1. ]), array([ 51. , 1. , 3. , 125. , 245. , 1. , 2. , 166. ,\n",
- " 0. , 2.4, 2. , 0. , 3. , 0. ]), array([ 59., 1., 2., 140., 221., 0., 0., 164., 1.,\n",
- " 0., 1., 0., 3., 0.]), array([ 5.90000000e+01, 1.00000000e+00, 1.00000000e+00,\n",
- " 1.70000000e+02, 2.88000000e+02, 0.00000000e+00,\n",
- " 2.00000000e+00, 1.59000000e+02, 0.00000000e+00,\n",
- " 2.00000000e-01, 2.00000000e+00, 0.00000000e+00,\n",
- " 7.00000000e+00, 1.00000000e+00]), array([ 52., 1., 2., 128., 205., 1., 0., 184., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 64. , 1. , 3. , 125. , 309. , 0. , 0. , 131. ,\n",
- " 1. , 1.8, 2. , 0. , 7. , 1. ]), array([ 58. , 1. , 3. , 105. , 240. , 0. , 2. , 154. ,\n",
- " 1. , 0.6, 2. , 0. , 7. , 0. ]), array([ 47., 1., 3., 108., 243., 0., 0., 152., 0.,\n",
- " 0., 1., 0., 3., 1.]), array([ 57., 1., 4., 165., 289., 1., 2., 124., 0.,\n",
- " 1., 2., 3., 7., 4.]), array([ 41., 1., 3., 112., 250., 0., 0., 179., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 45., 1., 2., 128., 308., 0., 2., 170., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 60., 0., 3., 102., 318., 0., 0., 160., 0.,\n",
- " 0., 1., 1., 3., 0.]), array([ 52. , 1. , 1. , 152. , 298. , 1. , 0. , 178. ,\n",
- " 0. , 1.2, 2. , 0. , 7. , 0. ]), array([ 42. , 0. , 4. , 102. , 265. , 0. , 2. , 122. ,\n",
- " 0. , 0.6, 2. , 0. , 3. , 0. ]), array([ 67. , 0. , 3. , 115. , 564. , 0. , 2. , 160. ,\n",
- " 0. , 1.6, 2. , 0. , 7. , 0. ]), array([ 55. , 1. , 4. , 160. , 289. , 0. , 2. , 145. ,\n",
- " 1. , 0.8, 2. , 1. , 7. , 4. ]), array([ 64. , 1. , 4. , 120. , 246. , 0. , 2. , 96. ,\n",
- " 1. , 2.2, 3. , 1. , 3. , 3. ]), array([ 70. , 1. , 4. , 130. , 322. , 0. , 2. , 109. ,\n",
- " 0. , 2.4, 2. , 3. , 3. , 1. ]), array([ 51. , 1. , 4. , 140. , 299. , 0. , 0. , 173. ,\n",
- " 1. , 1.6, 1. , 0. , 7. , 1. ]), array([ 58., 1., 4., 125., 300., 0., 2., 171., 0.,\n",
- " 0., 1., 2., 7., 1.]), array([ 60. , 1. , 4. , 140. , 293. , 0. , 2. , 170. ,\n",
- " 0. , 1.2, 2. , 2. , 7. , 2. ]), array([ 68., 1., 3., 118., 277., 0., 0., 151., 0.,\n",
- " 1., 1., 1., 7., 0.]), array([ 46., 1., 2., 101., 197., 1., 0., 156., 0.,\n",
- " 0., 1., 0., 7., 0.]), array([ 77., 1., 4., 125., 304., 0., 2., 162., 1.,\n",
- " 0., 1., 3., 3., 4.]), array([ 54. , 0. , 3. , 110. , 214. , 0. , 0. , 158. ,\n",
- " 0. , 1.6, 2. , 0. , 3. , 0. ]), array([ 58., 0., 4., 100., 248., 0., 2., 122., 0.,\n",
- " 1., 2., 0., 3., 0.]), array([ 48., 1., 3., 124., 255., 1., 0., 175., 0.,\n",
- " 0., 1., 2., 3., 0.]), array([ 57., 1., 4., 132., 207., 0., 0., 168., 1.,\n",
- " 0., 1., 0., 7., 0.]), array([ 52., 1., 3., 138., 223., 0., 0., 169., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 54., 0., 2., 132., 288., 1., 2., 159., 1.,\n",
- " 0., 1., 1., 3., 0.]), array([ 35., 1., 4., 126., 282., 0., 2., 156., 1.,\n",
- " 0., 1., 0., 7., 1.]), array([ 45., 0., 2., 112., 160., 0., 0., 138., 0.,\n",
- " 0., 2., 0., 3., 0.]), array([ 70. , 1. , 3. , 160. , 269. , 0. , 0. , 112. ,\n",
- " 1. , 2.9, 2. , 1. , 7. , 3. ]), array([ 53., 1., 4., 142., 226., 0., 2., 111., 1.,\n",
- " 0., 1., 0., 7., 0.]), array([ 59., 0., 4., 174., 249., 0., 0., 143., 1.,\n",
- " 0., 2., 0., 3., 1.]), array([ 62. , 0. , 4. , 140. , 394. , 0. , 2. , 157. ,\n",
- " 0. , 1.2, 2. , 0. , 3. , 0. ]), array([ 64., 1., 4., 145., 212., 0., 2., 132., 0.,\n",
- " 2., 2., 2., 6., 4.]), array([ 57. , 1. , 4. , 152. , 274. , 0. , 0. , 88. ,\n",
- " 1. , 1.2, 2. , 1. , 7. , 1. ]), array([ 5.20000000e+01, 1.00000000e+00, 4.00000000e+00,\n",
- " 1.08000000e+02, 2.33000000e+02, 1.00000000e+00,\n",
- " 0.00000000e+00, 1.47000000e+02, 0.00000000e+00,\n",
- " 1.00000000e-01, 1.00000000e+00, 3.00000000e+00,\n",
- " 7.00000000e+00, 0.00000000e+00]), array([ 56. , 1. , 4. , 132. , 184. , 0. , 2. , 105. ,\n",
- " 1. , 2.1, 2. , 1. , 6. , 1. ]), array([ 43. , 1. , 3. , 130. , 315. , 0. , 0. , 162. ,\n",
- " 0. , 1.9, 1. , 1. , 3. , 0. ]), array([ 53., 1., 3., 130., 246., 1., 2., 173., 0.,\n",
- " 0., 1., 3., 3., 0.]), array([ 48. , 1. , 4. , 124. , 274. , 0. , 2. , 166. ,\n",
- " 0. , 0.5, 2. , 0. , 7. , 3. ]), array([ 56. , 0. , 4. , 134. , 409. , 0. , 2. , 150. ,\n",
- " 1. , 1.9, 2. , 2. , 7. , 2. ]), array([ 42. , 1. , 1. , 148. , 244. , 0. , 2. , 178. ,\n",
- " 0. , 0.8, 1. , 2. , 3. , 0. ]), array([ 59. , 1. , 1. , 178. , 270. , 0. , 2. , 145. ,\n",
- " 0. , 4.2, 3. , 0. , 7. , 0. ]), array([ 60., 0., 4., 158., 305., 0., 2., 161., 0.,\n",
- " 0., 1., 0., 3., 1.]), array([ 63., 0., 2., 140., 195., 0., 0., 179., 0.,\n",
- " 0., 1., 2., 3., 0.]), array([ 42. , 1. , 3. , 120. , 240. , 1. , 0. , 194. ,\n",
- " 0. , 0.8, 3. , 0. , 7. , 0. ]), array([ 66., 1., 2., 160., 246., 0., 0., 120., 1.,\n",
- " 0., 2., 3., 6., 2.]), array([ 54., 1., 2., 192., 283., 0., 2., 195., 0.,\n",
- " 0., 1., 1., 7., 1.]), array([ 69., 1., 3., 140., 254., 0., 2., 146., 0.,\n",
- " 2., 2., 3., 7., 2.]), array([ 50., 1., 3., 129., 196., 0., 0., 163., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 51. , 1. , 4. , 140. , 298. , 0. , 0. , 122. ,\n",
- " 1. , 4.2, 2. , 3. , 7. , 3. ]), array([ 4.30000000e+01, 1.00000000e+00, 4.00000000e+00,\n",
- " 1.32000000e+02, 2.47000000e+02, 1.00000000e+00,\n",
- " 2.00000000e+00, 1.43000000e+02, 1.00000000e+00,\n",
- " 1.00000000e-01, 2.00000000e+00, 0.00000000e+00,\n",
- " 7.00000000e+00, 1.00000000e+00]), array([ 62. , 0. , 4. , 138. , 294. , 1. , 0. , 106. ,\n",
- " 0. , 1.9, 2. , 3. , 3. , 2. ]), array([ 68. , 0. , 3. , 120. , 211. , 0. , 2. , 115. ,\n",
- " 0. , 1.5, 2. , 0. , 3. , 0. ]), array([ 67. , 1. , 4. , 100. , 299. , 0. , 2. , 125. ,\n",
- " 1. , 0.9, 2. , 2. , 3. , 3. ]), array([ 6.90000000e+01, 1.00000000e+00, 1.00000000e+00,\n",
- " 1.60000000e+02, 2.34000000e+02, 1.00000000e+00,\n",
- " 2.00000000e+00, 1.31000000e+02, 0.00000000e+00,\n",
- " 1.00000000e-01, 2.00000000e+00, 1.00000000e+00,\n",
- " 3.00000000e+00, 0.00000000e+00]), array([ 4.50000000e+01, 0.00000000e+00, 4.00000000e+00,\n",
- " 1.38000000e+02, 2.36000000e+02, 0.00000000e+00,\n",
- " 2.00000000e+00, 1.52000000e+02, 1.00000000e+00,\n",
- " 2.00000000e-01, 2.00000000e+00, 0.00000000e+00,\n",
- " 3.00000000e+00, 0.00000000e+00]), array([ 50. , 0. , 2. , 120. , 244. , 0. , 0. , 162. ,\n",
- " 0. , 1.1, 1. , 0. , 3. , 0. ]), array([ 59., 1., 1., 160., 273., 0., 2., 125., 0.,\n",
- " 0., 1., 0., 3., 1.]), array([ 50., 0., 4., 110., 254., 0., 2., 159., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 64., 0., 4., 180., 325., 0., 0., 154., 1.,\n",
- " 0., 1., 0., 3., 0.]), array([ 57. , 1. , 3. , 150. , 126. , 1. , 0. , 173. ,\n",
- " 0. , 0.2, 1. , 1. , 7. , 0. ]), array([ 6.40000000e+01, 0.00000000e+00, 3.00000000e+00,\n",
- " 1.40000000e+02, 3.13000000e+02, 0.00000000e+00,\n",
- " 0.00000000e+00, 1.33000000e+02, 0.00000000e+00,\n",
- " 2.00000000e-01, 1.00000000e+00, 0.00000000e+00,\n",
- " 7.00000000e+00, 0.00000000e+00]), array([ 43., 1., 4., 110., 211., 0., 0., 161., 0.,\n",
- " 0., 1., 0., 7., 0.]), array([ 45., 1., 4., 142., 309., 0., 2., 147., 1.,\n",
- " 0., 2., 3., 7., 3.]), array([ 58., 1., 4., 128., 259., 0., 2., 130., 1.,\n",
- " 3., 2., 2., 7., 3.]), array([ 50. , 1. , 4. , 144. , 200. , 0. , 2. , 126. ,\n",
- " 1. , 0.9, 2. , 0. , 7. , 3. ]), array([ 55., 1., 2., 130., 262., 0., 0., 155., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 62. , 0. , 4. , 150. , 244. , 0. , 0. , 154. ,\n",
- " 1. , 1.4, 2. , 0. , 3. , 1. ]), array([ 37., 0., 3., 120., 215., 0., 0., 170., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 38. , 1. , 1. , 120. , 231. , 0. , 0. , 182. ,\n",
- " 1. , 3.8, 2. , 0. , 7. , 4. ]), array([ 41., 1., 3., 130., 214., 0., 2., 168., 0.,\n",
- " 2., 2., 0., 3., 0.]), array([ 66., 0., 4., 178., 228., 1., 0., 165., 1.,\n",
- " 1., 2., 2., 7., 3.]), array([ 52., 1., 4., 112., 230., 0., 0., 160., 0.,\n",
- " 0., 1., 1., 3., 1.]), array([ 56. , 1. , 1. , 120. , 193. , 0. , 2. , 162. ,\n",
- " 0. , 1.9, 2. , 0. , 7. , 0. ]), array([ 46., 0., 2., 105., 204., 0., 0., 172., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 46., 0., 4., 138., 243., 0., 2., 152., 1.,\n",
- " 0., 2., 0., 3., 0.]), array([ 64., 0., 4., 130., 303., 0., 0., 122., 0.,\n",
- " 2., 2., 2., 3., 0.]), array([ 59., 1., 4., 138., 271., 0., 2., 182., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 41., 0., 3., 112., 268., 0., 2., 172., 1.,\n",
- " 0., 1., 0., 3., 0.]), array([ 54., 0., 3., 108., 267., 0., 2., 167., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 39., 0., 3., 94., 199., 0., 0., 179., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 53., 1., 4., 123., 282., 0., 0., 95., 1.,\n",
- " 2., 2., 2., 7., 3.]), array([ 63. , 0. , 4. , 108. , 269. , 0. , 0. , 169. ,\n",
- " 1. , 1.8, 2. , 2. , 3. , 1. ]), array([ 34. , 0. , 2. , 118. , 210. , 0. , 0. , 192. ,\n",
- " 0. , 0.7, 1. , 0. , 3. , 0. ]), array([ 4.70000000e+01, 1.00000000e+00, 4.00000000e+00,\n",
- " 1.12000000e+02, 2.04000000e+02, 0.00000000e+00,\n",
- " 0.00000000e+00, 1.43000000e+02, 0.00000000e+00,\n",
- " 1.00000000e-01, 1.00000000e+00, 0.00000000e+00,\n",
- " 3.00000000e+00, 0.00000000e+00]), array([ 67., 0., 3., 152., 277., 0., 0., 172., 0.,\n",
- " 0., 1., 1., 3., 0.]), array([ 54., 1., 4., 110., 206., 0., 2., 108., 1.,\n",
- " 0., 2., 1., 3., 3.]), array([ 6.60000000e+01, 1.00000000e+00, 4.00000000e+00,\n",
- " 1.12000000e+02, 2.12000000e+02, 0.00000000e+00,\n",
- " 2.00000000e+00, 1.32000000e+02, 1.00000000e+00,\n",
- " 1.00000000e-01, 1.00000000e+00, 1.00000000e+00,\n",
- " 3.00000000e+00, 2.00000000e+00]), array([ 5.20000000e+01, 0.00000000e+00, 3.00000000e+00,\n",
- " 1.36000000e+02, 1.96000000e+02, 0.00000000e+00,\n",
- " 2.00000000e+00, 1.69000000e+02, 0.00000000e+00,\n",
- " 1.00000000e-01, 2.00000000e+00, 0.00000000e+00,\n",
- " 3.00000000e+00, 0.00000000e+00]), array([ 55. , 0. , 4. , 180. , 327. , 0. , 1. , 117. ,\n",
- " 1. , 3.4, 2. , 0. , 3. , 2. ]), array([ 49. , 1. , 3. , 118. , 149. , 0. , 2. , 126. ,\n",
- " 0. , 0.8, 1. , 3. , 3. , 1. ]), array([ 7.40000000e+01, 0.00000000e+00, 2.00000000e+00,\n",
- " 1.20000000e+02, 2.69000000e+02, 0.00000000e+00,\n",
- " 2.00000000e+00, 1.21000000e+02, 1.00000000e+00,\n",
- " 2.00000000e-01, 1.00000000e+00, 1.00000000e+00,\n",
- " 3.00000000e+00, 0.00000000e+00]), array([ 54., 0., 3., 160., 201., 0., 0., 163., 0.,\n",
- " 0., 1., 1., 3., 0.]), array([ 54. , 1. , 4. , 122. , 286. , 0. , 2. , 116. ,\n",
- " 1. , 3.2, 2. , 2. , 3. , 3. ]), array([ 56. , 1. , 4. , 130. , 283. , 1. , 2. , 103. ,\n",
- " 1. , 1.6, 3. , 0. , 7. , 2. ]), array([ 46. , 1. , 4. , 120. , 249. , 0. , 2. , 144. ,\n",
- " 0. , 0.8, 1. , 0. , 7. , 1. ]), array([ 49., 0., 2., 134., 271., 0., 0., 162., 0.,\n",
- " 0., 2., 0., 3., 0.]), array([ 42., 1., 2., 120., 295., 0., 0., 162., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 41., 1., 2., 110., 235., 0., 0., 153., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 41., 0., 2., 126., 306., 0., 0., 163., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 49., 0., 4., 130., 269., 0., 0., 163., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 61. , 1. , 1. , 134. , 234. , 0. , 0. , 145. ,\n",
- " 0. , 2.6, 2. , 2. , 3. , 2. ]), array([ 60., 0., 3., 120., 178., 1., 0., 96., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 67., 1., 4., 120., 237., 0., 0., 71., 0.,\n",
- " 1., 2., 0., 3., 2.]), array([ 5.80000000e+01, 1.00000000e+00, 4.00000000e+00,\n",
- " 1.00000000e+02, 2.34000000e+02, 0.00000000e+00,\n",
- " 0.00000000e+00, 1.56000000e+02, 0.00000000e+00,\n",
- " 1.00000000e-01, 1.00000000e+00, 1.00000000e+00,\n",
- " 7.00000000e+00, 2.00000000e+00]), array([ 47., 1., 4., 110., 275., 0., 2., 118., 1.,\n",
- " 1., 2., 1., 3., 1.]), array([ 52., 1., 4., 125., 212., 0., 0., 168., 0.,\n",
- " 1., 1., 2., 7., 3.]), array([ 62., 1., 2., 128., 208., 1., 2., 140., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 57. , 1. , 4. , 110. , 201. , 0. , 0. , 126. ,\n",
- " 1. , 1.5, 2. , 0. , 6. , 0. ]), array([ 58., 1., 4., 146., 218., 0., 0., 105., 0.,\n",
- " 2., 2., 1., 7., 1.]), array([ 6.40000000e+01, 1.00000000e+00, 4.00000000e+00,\n",
- " 1.28000000e+02, 2.63000000e+02, 0.00000000e+00,\n",
- " 0.00000000e+00, 1.05000000e+02, 1.00000000e+00,\n",
- " 2.00000000e-01, 2.00000000e+00, 1.00000000e+00,\n",
- " 7.00000000e+00, 0.00000000e+00]), array([ 51. , 0. , 3. , 120. , 295. , 0. , 2. , 157. ,\n",
- " 0. , 0.6, 1. , 0. , 3. , 0. ]), array([ 43. , 1. , 4. , 115. , 303. , 0. , 0. , 181. ,\n",
- " 0. , 1.2, 2. , 0. , 3. , 0. ]), array([ 42., 0., 3., 120., 209., 0., 0., 173., 0.,\n",
- " 0., 2., 0., 3., 0.]), array([ 67. , 0. , 4. , 106. , 223. , 0. , 0. , 142. ,\n",
- " 0. , 0.3, 1. , 2. , 3. , 0. ]), array([ 76. , 0. , 3. , 140. , 197. , 0. , 1. , 116. ,\n",
- " 0. , 1.1, 2. , 0. , 3. , 0. ]), array([ 70., 1., 2., 156., 245., 0., 2., 143., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 57. , 1. , 2. , 124. , 261. , 0. , 0. , 141. ,\n",
- " 0. , 0.3, 1. , 0. , 7. , 1. ]), array([ 44. , 0. , 3. , 118. , 242. , 0. , 0. , 149. ,\n",
- " 0. , 0.3, 2. , 1. , 3. , 0. ]), array([ 58., 0., 2., 136., 319., 1., 2., 152., 0.,\n",
- " 0., 1., 2., 3., 3.]), array([ 60. , 0. , 1. , 150. , 240. , 0. , 0. , 171. ,\n",
- " 0. , 0.9, 1. , 0. , 3. , 0. ]), array([ 44., 1., 3., 120., 226., 0., 0., 169., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 61. , 1. , 4. , 138. , 166. , 0. , 2. , 125. ,\n",
- " 1. , 3.6, 2. , 1. , 3. , 4. ]), array([ 42. , 1. , 4. , 136. , 315. , 0. , 0. , 125. ,\n",
- " 1. , 1.8, 2. , 0. , 6. , 2. ]), array([ 52., 1., 4., 128., 204., 1., 0., 156., 1.,\n",
- " 1., 2., 0., 0., 2.]), array([ 59. , 1. , 3. , 126. , 218. , 1. , 0. , 134. ,\n",
- " 0. , 2.2, 2. , 1. , 6. , 2. ]), array([ 40., 1., 4., 152., 223., 0., 0., 181., 0.,\n",
- " 0., 1., 0., 7., 1.]), array([ 42., 1., 3., 130., 180., 0., 0., 150., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 61. , 1. , 4. , 140. , 207. , 0. , 2. , 138. ,\n",
- " 1. , 1.9, 1. , 1. , 7. , 1. ]), array([ 66. , 1. , 4. , 160. , 228. , 0. , 2. , 138. ,\n",
- " 0. , 2.3, 1. , 0. , 6. , 0. ]), array([ 46. , 1. , 4. , 140. , 311. , 0. , 0. , 120. ,\n",
- " 1. , 1.8, 2. , 2. , 7. , 2. ]), array([ 71. , 0. , 4. , 112. , 149. , 0. , 0. , 125. ,\n",
- " 0. , 1.6, 2. , 0. , 3. , 0. ]), array([ 59. , 1. , 1. , 134. , 204. , 0. , 0. , 162. ,\n",
- " 0. , 0.8, 1. , 2. , 3. , 1. ]), array([ 64. , 1. , 1. , 170. , 227. , 0. , 2. , 155. ,\n",
- " 0. , 0.6, 2. , 0. , 7. , 0. ]), array([ 66., 0., 3., 146., 278., 0., 2., 152., 0.,\n",
- " 0., 2., 1., 3., 0.]), array([ 39., 0., 3., 138., 220., 0., 0., 152., 0.,\n",
- " 0., 2., 0., 3., 0.]), array([ 57., 1., 2., 154., 232., 0., 2., 164., 0.,\n",
- " 0., 1., 1., 3., 1.]), array([ 58. , 0. , 4. , 130. , 197. , 0. , 0. , 131. ,\n",
- " 0. , 0.6, 2. , 0. , 3. , 0. ]), array([ 57., 1., 4., 110., 335., 0., 0., 143., 1.,\n",
- " 3., 2., 1., 7., 2.]), array([ 47., 1., 3., 130., 253., 0., 0., 179., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 55., 0., 4., 128., 205., 0., 1., 130., 1.,\n",
- " 2., 2., 1., 7., 3.]), array([ 35., 1., 2., 122., 192., 0., 0., 174., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 61., 1., 4., 148., 203., 0., 0., 161., 0.,\n",
- " 0., 1., 1., 7., 2.]), array([ 58. , 1. , 4. , 114. , 318. , 0. , 1. , 140. ,\n",
- " 0. , 4.4, 3. , 3. , 6. , 4. ]), array([ 58. , 0. , 4. , 170. , 225. , 1. , 2. , 146. ,\n",
- " 1. , 2.8, 2. , 2. , 6. , 2. ]), array([ 58. , 1. , 2. , 125. , 220. , 0. , 0. , 144. ,\n",
- " 0. , 0.4, 2. , 0. , 7. , 0. ]), array([ 56., 1., 2., 130., 221., 0., 2., 163., 0.,\n",
- " 0., 1., 0., 7., 0.]), array([ 56., 1., 2., 120., 240., 0., 0., 169., 0.,\n",
- " 0., 3., 0., 3., 0.]), array([ 67. , 1. , 3. , 152. , 212. , 0. , 2. , 150. ,\n",
- " 0. , 0.8, 2. , 0. , 7. , 1. ]), array([ 55. , 0. , 2. , 132. , 342. , 0. , 0. , 166. ,\n",
- " 0. , 1.2, 1. , 0. , 3. , 0. ]), array([ 44. , 1. , 4. , 120. , 169. , 0. , 0. , 144. ,\n",
- " 1. , 2.8, 3. , 0. , 6. , 2. ]), array([ 63., 1., 4., 140., 187., 0., 2., 144., 1.,\n",
- " 4., 1., 2., 7., 2.]), array([ 63., 0., 4., 124., 197., 0., 0., 136., 1.,\n",
- " 0., 2., 0., 3., 1.]), array([ 41., 1., 2., 120., 157., 0., 0., 182., 0.,\n",
- " 0., 1., 0., 3., 0.]), array([ 59., 1., 4., 164., 176., 1., 2., 90., 0.,\n",
- " 1., 2., 2., 6., 3.]), array([ 5.70000000e+01, 0.00000000e+00, 4.00000000e+00,\n",
- " 1.40000000e+02, 2.41000000e+02, 0.00000000e+00,\n",
- " 0.00000000e+00, 1.23000000e+02, 1.00000000e+00,\n",
- " 2.00000000e-01, 2.00000000e+00, 0.00000000e+00,\n",
- " 7.00000000e+00, 1.00000000e+00]), array([ 45. , 1. , 1. , 110. , 264. , 0. , 0. , 132. ,\n",
- " 0. , 1.2, 2. , 0. , 7. , 1. ]), array([ 68. , 1. , 4. , 144. , 193. , 1. , 0. , 141. ,\n",
- " 0. , 3.4, 2. , 2. , 7. , 2. ]), array([ 57. , 1. , 4. , 130. , 131. , 0. , 0. , 115. ,\n",
- " 1. , 1.2, 2. , 1. , 7. , 3. ]), array([ 57., 0., 2., 130., 236., 0., 2., 174., 0.,\n",
- " 0., 2., 1., 3., 1.]), array([ 38., 1., 3., 138., 175., 0., 0., 173., 0.,\n",
- " 0., 1., 0., 3., 0.])]\n"
- ]
- }
- ],
- "source": [
- "\"\"\"\n",
- "As we saw above, in order to construct an array, we first create a\n",
- "list and then use the Numpy np.array(lst) constructor. Now we will\n",
- "apply this technique to construct a multidimensional array, or matrix.\n",
- "\n",
- "Below, we use the Python CSV library to read from the CSV data file,\n",
- "which is a technique we will learn later in the semester. Once we\n",
- "read the data into a list, we construct an array that has one row of\n",
- "values. We add each row to a list.\n",
- "\"\"\"\n",
- "arrays = []\n",
- "\n",
- "with open('processed_cleveland_data.csv', 'r') as csvfile: # open file\n",
- " reader = csv.DictReader(csvfile, fields) # create a reader\n",
- " for row in reader: # loop through rows\n",
- " lst = []\n",
- " for field in fields:\n",
- " val = row[field]\n",
- " # Get rid of absent values\n",
- " if val == '?':\n",
- " val = 0\n",
- " lst.append(float(val))\n",
- " arr = np.array(lst)\n",
- " arrays.append(arr)\n",
- " \n",
- "print(arrays)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 9,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[[ 63. 1. 1. ..., 0. 6. 0.]\n",
- " [ 67. 1. 4. ..., 3. 3. 2.]\n",
- " [ 67. 1. 4. ..., 2. 7. 1.]\n",
- " ..., \n",
- " [ 57. 1. 4. ..., 1. 7. 3.]\n",
- " [ 57. 0. 2. ..., 1. 3. 1.]\n",
- " [ 38. 1. 3. ..., 0. 3. 0.]]\n"
- ]
- }
- ],
- "source": [
- "\"\"\"\n",
- "Now we have a list of row arrays, which is stored in the arrays variable.\n",
- "We want a matrix, so we will feed this list into the array constructor,\n",
- "and that will yield an array of arrays.\n",
- "\n",
- "Print out the matrix to see how Python represents the data.\n",
- "\"\"\"\n",
- "\n",
- "matrix = np.array(arrays)\n",
- "print(matrix)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Now we have a matrix representation of the research data. How might this be useful to us?"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Numpy Array Manipulation Methods"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Our new matrix is shaped such that each array contains one array of values that belong together. Sometimes, however, we realize after constructing our data that it would be more useful in a different form. What if, for example, instead of having each row represent the 14 attributes for that set, we wanted 14 arrays that were organized by attribute?\n",
- "\n",
- "In this case, we can achieve that reshaping by taking thr transpose of the matrix. Taking the transpose means swapping the columns and rows of the matrix.\n",
- "\n",
- "In Numpy, this is an exceptionally easy operation. If we have a matrix `M`, the transpose of that matrix is caluculated by running `M.T`. Here is an example below:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 12,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[[ 63. 67. 67. ..., 57. 57. 38.]\n",
- " [ 1. 1. 1. ..., 1. 0. 1.]\n",
- " [ 1. 4. 4. ..., 4. 2. 3.]\n",
- " ..., \n",
- " [ 0. 3. 2. ..., 1. 1. 0.]\n",
- " [ 6. 3. 7. ..., 7. 3. 3.]\n",
- " [ 0. 2. 1. ..., 3. 1. 0.]]\n",
- "14\n",
- "303\n",
- "303\n"
- ]
- }
- ],
- "source": [
- "transposed = matrix.T\n",
- "print(transposed)\n",
- "print(len(transposed))\n",
- "print(len(transposed[0]))\n",
- "print(len(matrix))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "In addition to the transpose function, Numpy has a function, `swapaxes`, which takes in an array and two ints, `a` and `b`, and swaps the `a` and `b` axes of that array. In the case of our two-dimensional array, swapping the `x` and `y` axes has the same effect as taking the transpose of the matrix."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 13,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[[ 63. 67. 67. ..., 57. 57. 38.]\n",
- " [ 1. 1. 1. ..., 1. 0. 1.]\n",
- " [ 1. 4. 4. ..., 4. 2. 3.]\n",
- " ..., \n",
- " [ 0. 3. 2. ..., 1. 1. 0.]\n",
- " [ 6. 3. 7. ..., 7. 3. 3.]\n",
- " [ 0. 2. 1. ..., 3. 1. 0.]]\n",
- "14\n",
- "63.0\n"
- ]
- }
- ],
- "source": [
- "transposed = np.swapaxes(matrix, 0, 1)\n",
- "print(transposed)\n",
- "print(len(transposed))\n",
- "print(transposed[0][0])"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Here we swap the axes of a smaller array, so that the effects are easier to see."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 19,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[[[1]\n",
- " [2]\n",
- " [3]]]\n",
- "[[[1]\n",
- " [2]\n",
- " [3]]]\n"
- ]
- }
- ],
- "source": [
- "x = np.array([[[1], [2], [3]]])\n",
- "x2 = np.swapaxes(x, 0, 2)\n",
- "print(x)\n",
- "print(x2)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "In addition to reshaping the array by swapping axes, it is possible to use a one-dimensional iterator over the array. Unlike the above functions called in the above cells, this iterator exists as an attribute of Numpy arrays -- that is, it is not necessary to call a function to create the iterator; it already exists. To access it, we call `arr.flat` for some Numpy array `arr`. See an example below:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 20,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "1\n",
- "3\n"
- ]
- }
- ],
- "source": [
- "# First, a simple example with a 1D array\n",
- "\n",
- "x = np.array([1, 2, 3])\n",
- "print(x.flat[0])\n",
- "print(x.flat[2])"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 21,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "1\n",
- "3\n",
- "6\n"
- ]
- }
- ],
- "source": [
- "# Now, an example with a 2D array\n",
- "\n",
- "x = np.array([[1, 2],[3, 4],[5, 6]])\n",
- "print(x.flat[0])\n",
- "print(x.flat[2])\n",
- "print(x.flat[5])"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Now that we have arrays containing all values for each attribute in the dataset, it would be nice to calculate average values for each of those attributes. Again, in Numpy this is exceptionally easy.\n",
- "\n",
- "Numpy has a built-in function `np.mean(arr)` that takes in a single-dimension array and returns the mean of the array's values. Let's write a function that takes in a matrix and returns an array of means for each row in the matrix."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 26,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "array([ 54, 0, 3, 131, 246, 0, 0, 149, 0, 1, 1, 0, 4, 0])"
- ]
- },
- "execution_count": 26,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "\"\"\"\n",
- "Input: matrix (array of arrays)\n",
- "Output: array of average values\n",
- "\n",
- "Hint: Iterate through the matrix and use np.mean!\n",
- "\"\"\"\n",
- "def matrix_means(matrix):\n",
- " means = []\n",
- " for row in matrix:\n",
- " means.append(int(np.mean(row)))\n",
- " return np.array(means)\n",
- "\n",
- "matrix_means(transposed)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Other Numpy Techniques"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Above, we learned how to manipulate arrays and matrices of data that already existed. Often times, in scientific computing, it is useful to [create a multidimensional array](https://en.wikipedia.org/wiki/State-transition_matrix) or [random number](https://en.wikipedia.org/wiki/Randomized_algorithm). Numpy makes these things much easier, with the following techniques."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "#### Random Numbers"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Numpy has a built-in function that can generate random numbers, or arrays of random numbers. Called by `np.random.rand(d1, d2, ...)`, it takes in optional `dimension` parameters. Without a `dimension` input, it will return a single random float. If you input dimensions, it will return array with the specified shape. Below are some examples:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 27,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "0.49237287649764006\n"
- ]
- }
- ],
- "source": [
- "\"\"\"\n",
- "Here, we will generate single random numbers.\n",
- "\"\"\"\n",
- "r = np.random.rand()\n",
- "print(r)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 29,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[[ 0.67727392 0.55399923 0.28479283]\n",
- " [ 0.64930206 0.66069841 0.26740901]]\n"
- ]
- }
- ],
- "source": [
- "\"\"\"\n",
- "Here, we will generate arrays of random numbers.\n",
- "\"\"\"\n",
- "r_arr = np.random.rand(2, 3)\n",
- "print(r_arr)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "#### Array Generation"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "As we saw in the previous subsection, it is possible to generate arrays of random numbers in Numpy. It is also possible to generate arrays with a range of values, or zeroes. Here are some examples:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 30,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[[ 0. 0.]\n",
- " [ 0. 0.]\n",
- " [ 0. 0.]\n",
- " [ 0. 0.]\n",
- " [ 0. 0.]\n",
- " [ 0. 0.]\n",
- " [ 0. 0.]\n",
- " [ 0. 0.]\n",
- " [ 0. 0.]\n",
- " [ 0. 0.]]\n"
- ]
- }
- ],
- "source": [
- "\"\"\"\n",
- "Here, we will generate a multidimensional array of zeros. This might be\n",
- "useful as a starting value that could be filled in.\n",
- "\n",
- "As with most array constructors in Numpy, the inputs are dimensions.\n",
- "\"\"\"\n",
- "z = np.zeros((10, 2))\n",
- "print(z)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 31,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[0 1 2 3 4 5]\n"
- ]
- }
- ],
- "source": [
- "\"\"\"\n",
- "Here, we will generate an array of values within some range.\n",
- "\n",
- "As with most array constructors in Numpy, the inputs are dimensions.\n",
- "\"\"\"\n",
- "a = np.arange(6)\n",
- "print(a)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 34,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[[0 1 2]\n",
- " [3 4 5]]\n",
- "[[0 1 2 3 4 5]]\n"
- ]
- }
- ],
- "source": [
- "\"\"\"\n",
- "Here, we will take the array from the previous cell and reshape it.\n",
- "\n",
- "We will take the array of size 6 and reshape it into two arrays of\n",
- "size 3.\n",
- "\n",
- "We will also see what happens if we try to use 'a' to construct a new\n",
- "single-dimension array of size 6.\n",
- "\"\"\"\n",
- "b = a.reshape(2, 3)\n",
- "c = a.reshape(1, 6)\n",
- "\n",
- "print(b)\n",
- "print(c)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Note that in the above example, reshaping a single-dimension array of size 6 into a new single-dimension array of size 6 did not do exactly what we expected. Reshape always returns the new subarrays in a greater array, or matrix.\n",
- "\n",
- "Another very useful feature of Numpy lets us generate an array of evenly-spaced values within a specified range. For example, if we wanted an array of 30 values between 1 and 5, it would be pretty tedious to have to calculate every separate value. The `linspace` function takes care of this for us."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 35,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[ 1. 1.13793103 1.27586207 1.4137931 1.55172414 1.68965517\n",
- " 1.82758621 1.96551724 2.10344828 2.24137931 2.37931034 2.51724138\n",
- " 2.65517241 2.79310345 2.93103448 3.06896552 3.20689655 3.34482759\n",
- " 3.48275862 3.62068966 3.75862069 3.89655172 4.03448276 4.17241379\n",
- " 4.31034483 4.44827586 4.5862069 4.72413793 4.86206897 5. ]\n"
- ]
- }
- ],
- "source": [
- "\"\"\"\n",
- "Generating 30 evenly-spaced values between 1 and 5:\n",
- "\"\"\"\n",
- "vals = np.linspace(1, 5, 30)\n",
- "print(vals)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "If we wanted to create an array with values in a specified range but instead of specifying the number of values in the range, we wanted to specify a step size, we can use the `arange` function. Let's make an array with values between 0 and 100, and a step size of 3:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 36,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[ 0 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72\n",
- " 75 78 81 84 87 90 93 96 99]\n"
- ]
- }
- ],
- "source": [
- "\"\"\"\n",
- "Generating an array with values between 0 and 100, with a step size of 3:\n",
- "\"\"\"\n",
- "vals = np.arange(0, 100, 3)\n",
- "print(vals)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "#### Statistics"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Numpy also makes it easy to compute a variety of statistics of large data sets. Let's return to our heart disease data set and take a look at the attribute at index 3, which is resting blood pressure. To start off, let's compute some basic statistics on this specific attribute."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 37,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[ 145. 160. 120. 130. 130. 120. 140. 120. 130. 140. 140. 140.\n",
- " 130. 120. 172. 150. 110. 140. 130. 130. 110. 150. 120. 132.\n",
- " 130. 120. 120. 150. 150. 110. 140. 117. 140. 135. 130. 140.\n",
- " 120. 150. 132. 150. 150. 140. 160. 150. 130. 112. 110. 150.\n",
- " 140. 130. 105. 120. 112. 130. 130. 124. 140. 110. 125. 125.\n",
- " 130. 142. 128. 135. 120. 145. 140. 150. 170. 150. 155. 125.\n",
- " 120. 110. 110. 160. 125. 140. 130. 150. 104. 130. 140. 180.\n",
- " 120. 140. 138. 128. 138. 130. 120. 160. 130. 108. 135. 128.\n",
- " 110. 150. 134. 122. 115. 118. 128. 110. 120. 108. 140. 128.\n",
- " 120. 118. 145. 125. 118. 132. 130. 135. 140. 138. 130. 135.\n",
- " 130. 150. 100. 140. 138. 130. 200. 110. 120. 124. 120. 94.\n",
- " 130. 140. 122. 135. 145. 120. 120. 125. 140. 170. 128. 125.\n",
- " 105. 108. 165. 112. 128. 102. 152. 102. 115. 160. 120. 130.\n",
- " 140. 125. 140. 118. 101. 125. 110. 100. 124. 132. 138. 132.\n",
- " 126. 112. 160. 142. 174. 140. 145. 152. 108. 132. 130. 130.\n",
- " 124. 134. 148. 178. 158. 140. 120. 160. 192. 140. 129. 140.\n",
- " 132. 138. 120. 100. 160. 138. 120. 160. 110. 180. 150. 140.\n",
- " 110. 142. 128. 144. 130. 150. 120. 120. 130. 178. 112. 120.\n",
- " 105. 138. 130. 138. 112. 108. 94. 123. 108. 118. 112. 152.\n",
- " 110. 112. 136. 180. 118. 120. 160. 122. 130. 120. 134. 120.\n",
- " 110. 126. 130. 134. 120. 120. 100. 110. 125. 128. 110. 146.\n",
- " 128. 120. 115. 120. 106. 140. 156. 124. 118. 136. 150. 120.\n",
- " 138. 136. 128. 126. 152. 130. 140. 160. 140. 112. 134. 170.\n",
- " 146. 138. 154. 130. 110. 130. 128. 122. 148. 114. 170. 125.\n",
- " 130. 120. 152. 132. 120. 140. 124. 120. 164. 140. 110. 144.\n",
- " 130. 130. 138.]\n"
- ]
- }
- ],
- "source": [
- "\"\"\"\n",
- "First, we'll reshape the array containing our dataset so that each row contains one attribute, \n",
- "instead of each row containing all attributes for one person. The third row of our transposed matrix should contain\n",
- "all of the resting blood pressure values in the data.\n",
- "\"\"\"\n",
- "transposed = matrix.T\n",
- "bp = transposed[3]\n",
- "print(bp)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 38,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "131.689768977\n",
- "130.0\n",
- "17.5706812395\n"
- ]
- }
- ],
- "source": [
- "\"\"\"\n",
- "We can quickly find the mean, median, and standard deviation of blood pressure values:\n",
- "\"\"\"\n",
- "mean = np.mean(bp)\n",
- "median = np.median(bp)\n",
- "standard_dev = np.std(bp)\n",
- "print(mean)\n",
- "print(median)\n",
- "print(standard_dev)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Let's now take a look at the correlation between resting blood pressure and cholesterol levels."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 40,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[ 233. 286. 229. 250. 204. 236. 268. 354. 254. 203. 192. 294.\n",
- " 256. 263. 199. 168. 229. 239. 275. 266. 211. 283. 284. 224.\n",
- " 206. 219. 340. 226. 247. 167. 239. 230. 335. 234. 233. 226.\n",
- " 177. 276. 353. 243. 225. 199. 302. 212. 330. 230. 175. 243.\n",
- " 417. 197. 198. 177. 290. 219. 253. 266. 233. 172. 273. 213.\n",
- " 305. 177. 216. 304. 188. 282. 185. 232. 326. 231. 269. 254.\n",
- " 267. 248. 197. 360. 258. 308. 245. 270. 208. 264. 321. 274.\n",
- " 325. 235. 257. 216. 234. 256. 302. 164. 231. 141. 252. 255.\n",
- " 239. 258. 201. 222. 260. 182. 303. 265. 188. 309. 177. 229.\n",
- " 260. 219. 307. 249. 186. 341. 263. 203. 211. 183. 330. 254.\n",
- " 256. 407. 222. 217. 282. 234. 288. 239. 220. 209. 258. 227.\n",
- " 204. 261. 213. 250. 174. 281. 198. 245. 221. 288. 205. 309.\n",
- " 240. 243. 289. 250. 308. 318. 298. 265. 564. 289. 246. 322.\n",
- " 299. 300. 293. 277. 197. 304. 214. 248. 255. 207. 223. 288.\n",
- " 282. 160. 269. 226. 249. 394. 212. 274. 233. 184. 315. 246.\n",
- " 274. 409. 244. 270. 305. 195. 240. 246. 283. 254. 196. 298.\n",
- " 247. 294. 211. 299. 234. 236. 244. 273. 254. 325. 126. 313.\n",
- " 211. 309. 259. 200. 262. 244. 215. 231. 214. 228. 230. 193.\n",
- " 204. 243. 303. 271. 268. 267. 199. 282. 269. 210. 204. 277.\n",
- " 206. 212. 196. 327. 149. 269. 201. 286. 283. 249. 271. 295.\n",
- " 235. 306. 269. 234. 178. 237. 234. 275. 212. 208. 201. 218.\n",
- " 263. 295. 303. 209. 223. 197. 245. 261. 242. 319. 240. 226.\n",
- " 166. 315. 204. 218. 223. 180. 207. 228. 311. 149. 204. 227.\n",
- " 278. 220. 232. 197. 335. 253. 205. 192. 203. 318. 225. 220.\n",
- " 221. 240. 212. 342. 169. 187. 197. 157. 176. 241. 264. 193.\n",
- " 131. 236. 175.]\n",
- "246.693069307\n"
- ]
- }
- ],
- "source": [
- "\"\"\"\n",
- "The cholesterol attribute is at index 4 of our data set, so we'll first create an array with just that attribute:\n",
- "\"\"\"\n",
- "cholesterol = transposed[4]\n",
- "print(cholesterol)\n",
- "print(np.mean(cholesterol))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Now let's find the linear least squares fit for the data, where blood pressure is on the x axis,\n",
- "and cholesterol level on the y axis. The function `polyfit` takes in two arrays of data and the degree of the polynomial you want to fit, and returns the coefficients of the polynomial (in decreasing order of power with the highest power coefficient first)."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 41,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Our fit is: y = 0.382801971459x + 196.281966122\n"
- ]
- }
- ],
- "source": [
- "\"\"\"\n",
- "Now let's find the linear least squares fit for the data, where blood pressure is on the x axis,\n",
- "and cholesterol level on the y axis:\n",
- "\"\"\"\n",
- "fit = np.polyfit(bp, cholesterol, 1)\n",
- "print(\"Our fit is: y = \" + str(fit[0]) + \"x + \" + str(fit[1]))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Let's now use our polynomial to predict a person's cholesterol level if their resting blood pressure is at an optimal 120 mm Hg systolic. The function `polyval` takes in the coefficients of a polynomial and an x value, and returns the polynomial evaulated at that x value."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 42,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "242.218202697\n"
- ]
- }
- ],
- "source": [
- "prediction = np.polyval(fit, 120)\n",
- "print(prediction)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": []
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.4.5"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 0
-}
diff --git a/notebooks/numpy/processed_cleveland_data.txt b/notebooks/numpy/processed_cleveland_data.txt
deleted file mode 100644
index 97e936c..0000000
--- a/notebooks/numpy/processed_cleveland_data.txt
+++ /dev/null
@@ -1,303 +0,0 @@
-63.0,1.0,1.0,145.0,233.0,1.0,2.0,150.0,0.0,2.3,3.0,0.0,6.0,0
-67.0,1.0,4.0,160.0,286.0,0.0,2.0,108.0,1.0,1.5,2.0,3.0,3.0,2
-67.0,1.0,4.0,120.0,229.0,0.0,2.0,129.0,1.0,2.6,2.0,2.0,7.0,1
-37.0,1.0,3.0,130.0,250.0,0.0,0.0,187.0,0.0,3.5,3.0,0.0,3.0,0
-41.0,0.0,2.0,130.0,204.0,0.0,2.0,172.0,0.0,1.4,1.0,0.0,3.0,0
-56.0,1.0,2.0,120.0,236.0,0.0,0.0,178.0,0.0,0.8,1.0,0.0,3.0,0
-62.0,0.0,4.0,140.0,268.0,0.0,2.0,160.0,0.0,3.6,3.0,2.0,3.0,3
-57.0,0.0,4.0,120.0,354.0,0.0,0.0,163.0,1.0,0.6,1.0,0.0,3.0,0
-63.0,1.0,4.0,130.0,254.0,0.0,2.0,147.0,0.0,1.4,2.0,1.0,7.0,2
-53.0,1.0,4.0,140.0,203.0,1.0,2.0,155.0,1.0,3.1,3.0,0.0,7.0,1
-57.0,1.0,4.0,140.0,192.0,0.0,0.0,148.0,0.0,0.4,2.0,0.0,6.0,0
-56.0,0.0,2.0,140.0,294.0,0.0,2.0,153.0,0.0,1.3,2.0,0.0,3.0,0
-56.0,1.0,3.0,130.0,256.0,1.0,2.0,142.0,1.0,0.6,2.0,1.0,6.0,2
-44.0,1.0,2.0,120.0,263.0,0.0,0.0,173.0,0.0,0.0,1.0,0.0,7.0,0
-52.0,1.0,3.0,172.0,199.0,1.0,0.0,162.0,0.0,0.5,1.0,0.0,7.0,0
-57.0,1.0,3.0,150.0,168.0,0.0,0.0,174.0,0.0,1.6,1.0,0.0,3.0,0
-48.0,1.0,2.0,110.0,229.0,0.0,0.0,168.0,0.0,1.0,3.0,0.0,7.0,1
-54.0,1.0,4.0,140.0,239.0,0.0,0.0,160.0,0.0,1.2,1.0,0.0,3.0,0
-48.0,0.0,3.0,130.0,275.0,0.0,0.0,139.0,0.0,0.2,1.0,0.0,3.0,0
-49.0,1.0,2.0,130.0,266.0,0.0,0.0,171.0,0.0,0.6,1.0,0.0,3.0,0
-64.0,1.0,1.0,110.0,211.0,0.0,2.0,144.0,1.0,1.8,2.0,0.0,3.0,0
-58.0,0.0,1.0,150.0,283.0,1.0,2.0,162.0,0.0,1.0,1.0,0.0,3.0,0
-58.0,1.0,2.0,120.0,284.0,0.0,2.0,160.0,0.0,1.8,2.0,0.0,3.0,1
-58.0,1.0,3.0,132.0,224.0,0.0,2.0,173.0,0.0,3.2,1.0,2.0,7.0,3
-60.0,1.0,4.0,130.0,206.0,0.0,2.0,132.0,1.0,2.4,2.0,2.0,7.0,4
-50.0,0.0,3.0,120.0,219.0,0.0,0.0,158.0,0.0,1.6,2.0,0.0,3.0,0
-58.0,0.0,3.0,120.0,340.0,0.0,0.0,172.0,0.0,0.0,1.0,0.0,3.0,0
-66.0,0.0,1.0,150.0,226.0,0.0,0.0,114.0,0.0,2.6,3.0,0.0,3.0,0
-43.0,1.0,4.0,150.0,247.0,0.0,0.0,171.0,0.0,1.5,1.0,0.0,3.0,0
-40.0,1.0,4.0,110.0,167.0,0.0,2.0,114.0,1.0,2.0,2.0,0.0,7.0,3
-69.0,0.0,1.0,140.0,239.0,0.0,0.0,151.0,0.0,1.8,1.0,2.0,3.0,0
-60.0,1.0,4.0,117.0,230.0,1.0,0.0,160.0,1.0,1.4,1.0,2.0,7.0,2
-64.0,1.0,3.0,140.0,335.0,0.0,0.0,158.0,0.0,0.0,1.0,0.0,3.0,1
-59.0,1.0,4.0,135.0,234.0,0.0,0.0,161.0,0.0,0.5,2.0,0.0,7.0,0
-44.0,1.0,3.0,130.0,233.0,0.0,0.0,179.0,1.0,0.4,1.0,0.0,3.0,0
-42.0,1.0,4.0,140.0,226.0,0.0,0.0,178.0,0.0,0.0,1.0,0.0,3.0,0
-43.0,1.0,4.0,120.0,177.0,0.0,2.0,120.0,1.0,2.5,2.0,0.0,7.0,3
-57.0,1.0,4.0,150.0,276.0,0.0,2.0,112.0,1.0,0.6,2.0,1.0,6.0,1
-55.0,1.0,4.0,132.0,353.0,0.0,0.0,132.0,1.0,1.2,2.0,1.0,7.0,3
-61.0,1.0,3.0,150.0,243.0,1.0,0.0,137.0,1.0,1.0,2.0,0.0,3.0,0
-65.0,0.0,4.0,150.0,225.0,0.0,2.0,114.0,0.0,1.0,2.0,3.0,7.0,4
-40.0,1.0,1.0,140.0,199.0,0.0,0.0,178.0,1.0,1.4,1.0,0.0,7.0,0
-71.0,0.0,2.0,160.0,302.0,0.0,0.0,162.0,0.0,0.4,1.0,2.0,3.0,0
-59.0,1.0,3.0,150.0,212.0,1.0,0.0,157.0,0.0,1.6,1.0,0.0,3.0,0
-61.0,0.0,4.0,130.0,330.0,0.0,2.0,169.0,0.0,0.0,1.0,0.0,3.0,1
-58.0,1.0,3.0,112.0,230.0,0.0,2.0,165.0,0.0,2.5,2.0,1.0,7.0,4
-51.0,1.0,3.0,110.0,175.0,0.0,0.0,123.0,0.0,0.6,1.0,0.0,3.0,0
-50.0,1.0,4.0,150.0,243.0,0.0,2.0,128.0,0.0,2.6,2.0,0.0,7.0,4
-65.0,0.0,3.0,140.0,417.0,1.0,2.0,157.0,0.0,0.8,1.0,1.0,3.0,0
-53.0,1.0,3.0,130.0,197.0,1.0,2.0,152.0,0.0,1.2,3.0,0.0,3.0,0
-41.0,0.0,2.0,105.0,198.0,0.0,0.0,168.0,0.0,0.0,1.0,1.0,3.0,0
-65.0,1.0,4.0,120.0,177.0,0.0,0.0,140.0,0.0,0.4,1.0,0.0,7.0,0
-44.0,1.0,4.0,112.0,290.0,0.0,2.0,153.0,0.0,0.0,1.0,1.0,3.0,2
-44.0,1.0,2.0,130.0,219.0,0.0,2.0,188.0,0.0,0.0,1.0,0.0,3.0,0
-60.0,1.0,4.0,130.0,253.0,0.0,0.0,144.0,1.0,1.4,1.0,1.0,7.0,1
-54.0,1.0,4.0,124.0,266.0,0.0,2.0,109.0,1.0,2.2,2.0,1.0,7.0,1
-50.0,1.0,3.0,140.0,233.0,0.0,0.0,163.0,0.0,0.6,2.0,1.0,7.0,1
-41.0,1.0,4.0,110.0,172.0,0.0,2.0,158.0,0.0,0.0,1.0,0.0,7.0,1
-54.0,1.0,3.0,125.0,273.0,0.0,2.0,152.0,0.0,0.5,3.0,1.0,3.0,0
-51.0,1.0,1.0,125.0,213.0,0.0,2.0,125.0,1.0,1.4,1.0,1.0,3.0,0
-51.0,0.0,4.0,130.0,305.0,0.0,0.0,142.0,1.0,1.2,2.0,0.0,7.0,2
-46.0,0.0,3.0,142.0,177.0,0.0,2.0,160.0,1.0,1.4,3.0,0.0,3.0,0
-58.0,1.0,4.0,128.0,216.0,0.0,2.0,131.0,1.0,2.2,2.0,3.0,7.0,1
-54.0,0.0,3.0,135.0,304.0,1.0,0.0,170.0,0.0,0.0,1.0,0.0,3.0,0
-54.0,1.0,4.0,120.0,188.0,0.0,0.0,113.0,0.0,1.4,2.0,1.0,7.0,2
-60.0,1.0,4.0,145.0,282.0,0.0,2.0,142.0,1.0,2.8,2.0,2.0,7.0,2
-60.0,1.0,3.0,140.0,185.0,0.0,2.0,155.0,0.0,3.0,2.0,0.0,3.0,1
-54.0,1.0,3.0,150.0,232.0,0.0,2.0,165.0,0.0,1.6,1.0,0.0,7.0,0
-59.0,1.0,4.0,170.0,326.0,0.0,2.0,140.0,1.0,3.4,3.0,0.0,7.0,2
-46.0,1.0,3.0,150.0,231.0,0.0,0.0,147.0,0.0,3.6,2.0,0.0,3.0,1
-65.0,0.0,3.0,155.0,269.0,0.0,0.0,148.0,0.0,0.8,1.0,0.0,3.0,0
-67.0,1.0,4.0,125.0,254.0,1.0,0.0,163.0,0.0,0.2,2.0,2.0,7.0,3
-62.0,1.0,4.0,120.0,267.0,0.0,0.0,99.0,1.0,1.8,2.0,2.0,7.0,1
-65.0,1.0,4.0,110.0,248.0,0.0,2.0,158.0,0.0,0.6,1.0,2.0,6.0,1
-44.0,1.0,4.0,110.0,197.0,0.0,2.0,177.0,0.0,0.0,1.0,1.0,3.0,1
-65.0,0.0,3.0,160.0,360.0,0.0,2.0,151.0,0.0,0.8,1.0,0.0,3.0,0
-60.0,1.0,4.0,125.0,258.0,0.0,2.0,141.0,1.0,2.8,2.0,1.0,7.0,1
-51.0,0.0,3.0,140.0,308.0,0.0,2.0,142.0,0.0,1.5,1.0,1.0,3.0,0
-48.0,1.0,2.0,130.0,245.0,0.0,2.0,180.0,0.0,0.2,2.0,0.0,3.0,0
-58.0,1.0,4.0,150.0,270.0,0.0,2.0,111.0,1.0,0.8,1.0,0.0,7.0,3
-45.0,1.0,4.0,104.0,208.0,0.0,2.0,148.0,1.0,3.0,2.0,0.0,3.0,0
-53.0,0.0,4.0,130.0,264.0,0.0,2.0,143.0,0.0,0.4,2.0,0.0,3.0,0
-39.0,1.0,3.0,140.0,321.0,0.0,2.0,182.0,0.0,0.0,1.0,0.0,3.0,0
-68.0,1.0,3.0,180.0,274.0,1.0,2.0,150.0,1.0,1.6,2.0,0.0,7.0,3
-52.0,1.0,2.0,120.0,325.0,0.0,0.0,172.0,0.0,0.2,1.0,0.0,3.0,0
-44.0,1.0,3.0,140.0,235.0,0.0,2.0,180.0,0.0,0.0,1.0,0.0,3.0,0
-47.0,1.0,3.0,138.0,257.0,0.0,2.0,156.0,0.0,0.0,1.0,0.0,3.0,0
-53.0,0.0,3.0,128.0,216.0,0.0,2.0,115.0,0.0,0.0,1.0,0.0,?,0
-53.0,0.0,4.0,138.0,234.0,0.0,2.0,160.0,0.0,0.0,1.0,0.0,3.0,0
-51.0,0.0,3.0,130.0,256.0,0.0,2.0,149.0,0.0,0.5,1.0,0.0,3.0,0
-66.0,1.0,4.0,120.0,302.0,0.0,2.0,151.0,0.0,0.4,2.0,0.0,3.0,0
-62.0,0.0,4.0,160.0,164.0,0.0,2.0,145.0,0.0,6.2,3.0,3.0,7.0,3
-62.0,1.0,3.0,130.0,231.0,0.0,0.0,146.0,0.0,1.8,2.0,3.0,7.0,0
-44.0,0.0,3.0,108.0,141.0,0.0,0.0,175.0,0.0,0.6,2.0,0.0,3.0,0
-63.0,0.0,3.0,135.0,252.0,0.0,2.0,172.0,0.0,0.0,1.0,0.0,3.0,0
-52.0,1.0,4.0,128.0,255.0,0.0,0.0,161.0,1.0,0.0,1.0,1.0,7.0,1
-59.0,1.0,4.0,110.0,239.0,0.0,2.0,142.0,1.0,1.2,2.0,1.0,7.0,2
-60.0,0.0,4.0,150.0,258.0,0.0,2.0,157.0,0.0,2.6,2.0,2.0,7.0,3
-52.0,1.0,2.0,134.0,201.0,0.0,0.0,158.0,0.0,0.8,1.0,1.0,3.0,0
-48.0,1.0,4.0,122.0,222.0,0.0,2.0,186.0,0.0,0.0,1.0,0.0,3.0,0
-45.0,1.0,4.0,115.0,260.0,0.0,2.0,185.0,0.0,0.0,1.0,0.0,3.0,0
-34.0,1.0,1.0,118.0,182.0,0.0,2.0,174.0,0.0,0.0,1.0,0.0,3.0,0
-57.0,0.0,4.0,128.0,303.0,0.0,2.0,159.0,0.0,0.0,1.0,1.0,3.0,0
-71.0,0.0,3.0,110.0,265.0,1.0,2.0,130.0,0.0,0.0,1.0,1.0,3.0,0
-49.0,1.0,3.0,120.0,188.0,0.0,0.0,139.0,0.0,2.0,2.0,3.0,7.0,3
-54.0,1.0,2.0,108.0,309.0,0.0,0.0,156.0,0.0,0.0,1.0,0.0,7.0,0
-59.0,1.0,4.0,140.0,177.0,0.0,0.0,162.0,1.0,0.0,1.0,1.0,7.0,2
-57.0,1.0,3.0,128.0,229.0,0.0,2.0,150.0,0.0,0.4,2.0,1.0,7.0,1
-61.0,1.0,4.0,120.0,260.0,0.0,0.0,140.0,1.0,3.6,2.0,1.0,7.0,2
-39.0,1.0,4.0,118.0,219.0,0.0,0.0,140.0,0.0,1.2,2.0,0.0,7.0,3
-61.0,0.0,4.0,145.0,307.0,0.0,2.0,146.0,1.0,1.0,2.0,0.0,7.0,1
-56.0,1.0,4.0,125.0,249.0,1.0,2.0,144.0,1.0,1.2,2.0,1.0,3.0,1
-52.0,1.0,1.0,118.0,186.0,0.0,2.0,190.0,0.0,0.0,2.0,0.0,6.0,0
-43.0,0.0,4.0,132.0,341.0,1.0,2.0,136.0,1.0,3.0,2.0,0.0,7.0,2
-62.0,0.0,3.0,130.0,263.0,0.0,0.0,97.0,0.0,1.2,2.0,1.0,7.0,2
-41.0,1.0,2.0,135.0,203.0,0.0,0.0,132.0,0.0,0.0,2.0,0.0,6.0,0
-58.0,1.0,3.0,140.0,211.0,1.0,2.0,165.0,0.0,0.0,1.0,0.0,3.0,0
-35.0,0.0,4.0,138.0,183.0,0.0,0.0,182.0,0.0,1.4,1.0,0.0,3.0,0
-63.0,1.0,4.0,130.0,330.0,1.0,2.0,132.0,1.0,1.8,1.0,3.0,7.0,3
-65.0,1.0,4.0,135.0,254.0,0.0,2.0,127.0,0.0,2.8,2.0,1.0,7.0,2
-48.0,1.0,4.0,130.0,256.0,1.0,2.0,150.0,1.0,0.0,1.0,2.0,7.0,3
-63.0,0.0,4.0,150.0,407.0,0.0,2.0,154.0,0.0,4.0,2.0,3.0,7.0,4
-51.0,1.0,3.0,100.0,222.0,0.0,0.0,143.0,1.0,1.2,2.0,0.0,3.0,0
-55.0,1.0,4.0,140.0,217.0,0.0,0.0,111.0,1.0,5.6,3.0,0.0,7.0,3
-65.0,1.0,1.0,138.0,282.0,1.0,2.0,174.0,0.0,1.4,2.0,1.0,3.0,1
-45.0,0.0,2.0,130.0,234.0,0.0,2.0,175.0,0.0,0.6,2.0,0.0,3.0,0
-56.0,0.0,4.0,200.0,288.0,1.0,2.0,133.0,1.0,4.0,3.0,2.0,7.0,3
-54.0,1.0,4.0,110.0,239.0,0.0,0.0,126.0,1.0,2.8,2.0,1.0,7.0,3
-44.0,1.0,2.0,120.0,220.0,0.0,0.0,170.0,0.0,0.0,1.0,0.0,3.0,0
-62.0,0.0,4.0,124.0,209.0,0.0,0.0,163.0,0.0,0.0,1.0,0.0,3.0,0
-54.0,1.0,3.0,120.0,258.0,0.0,2.0,147.0,0.0,0.4,2.0,0.0,7.0,0
-51.0,1.0,3.0,94.0,227.0,0.0,0.0,154.0,1.0,0.0,1.0,1.0,7.0,0
-29.0,1.0,2.0,130.0,204.0,0.0,2.0,202.0,0.0,0.0,1.0,0.0,3.0,0
-51.0,1.0,4.0,140.0,261.0,0.0,2.0,186.0,1.0,0.0,1.0,0.0,3.0,0
-43.0,0.0,3.0,122.0,213.0,0.0,0.0,165.0,0.0,0.2,2.0,0.0,3.0,0
-55.0,0.0,2.0,135.0,250.0,0.0,2.0,161.0,0.0,1.4,2.0,0.0,3.0,0
-70.0,1.0,4.0,145.0,174.0,0.0,0.0,125.0,1.0,2.6,3.0,0.0,7.0,4
-62.0,1.0,2.0,120.0,281.0,0.0,2.0,103.0,0.0,1.4,2.0,1.0,7.0,3
-35.0,1.0,4.0,120.0,198.0,0.0,0.0,130.0,1.0,1.6,2.0,0.0,7.0,1
-51.0,1.0,3.0,125.0,245.0,1.0,2.0,166.0,0.0,2.4,2.0,0.0,3.0,0
-59.0,1.0,2.0,140.0,221.0,0.0,0.0,164.0,1.0,0.0,1.0,0.0,3.0,0
-59.0,1.0,1.0,170.0,288.0,0.0,2.0,159.0,0.0,0.2,2.0,0.0,7.0,1
-52.0,1.0,2.0,128.0,205.0,1.0,0.0,184.0,0.0,0.0,1.0,0.0,3.0,0
-64.0,1.0,3.0,125.0,309.0,0.0,0.0,131.0,1.0,1.8,2.0,0.0,7.0,1
-58.0,1.0,3.0,105.0,240.0,0.0,2.0,154.0,1.0,0.6,2.0,0.0,7.0,0
-47.0,1.0,3.0,108.0,243.0,0.0,0.0,152.0,0.0,0.0,1.0,0.0,3.0,1
-57.0,1.0,4.0,165.0,289.0,1.0,2.0,124.0,0.0,1.0,2.0,3.0,7.0,4
-41.0,1.0,3.0,112.0,250.0,0.0,0.0,179.0,0.0,0.0,1.0,0.0,3.0,0
-45.0,1.0,2.0,128.0,308.0,0.0,2.0,170.0,0.0,0.0,1.0,0.0,3.0,0
-60.0,0.0,3.0,102.0,318.0,0.0,0.0,160.0,0.0,0.0,1.0,1.0,3.0,0
-52.0,1.0,1.0,152.0,298.0,1.0,0.0,178.0,0.0,1.2,2.0,0.0,7.0,0
-42.0,0.0,4.0,102.0,265.0,0.0,2.0,122.0,0.0,0.6,2.0,0.0,3.0,0
-67.0,0.0,3.0,115.0,564.0,0.0,2.0,160.0,0.0,1.6,2.0,0.0,7.0,0
-55.0,1.0,4.0,160.0,289.0,0.0,2.0,145.0,1.0,0.8,2.0,1.0,7.0,4
-64.0,1.0,4.0,120.0,246.0,0.0,2.0,96.0,1.0,2.2,3.0,1.0,3.0,3
-70.0,1.0,4.0,130.0,322.0,0.0,2.0,109.0,0.0,2.4,2.0,3.0,3.0,1
-51.0,1.0,4.0,140.0,299.0,0.0,0.0,173.0,1.0,1.6,1.0,0.0,7.0,1
-58.0,1.0,4.0,125.0,300.0,0.0,2.0,171.0,0.0,0.0,1.0,2.0,7.0,1
-60.0,1.0,4.0,140.0,293.0,0.0,2.0,170.0,0.0,1.2,2.0,2.0,7.0,2
-68.0,1.0,3.0,118.0,277.0,0.0,0.0,151.0,0.0,1.0,1.0,1.0,7.0,0
-46.0,1.0,2.0,101.0,197.0,1.0,0.0,156.0,0.0,0.0,1.0,0.0,7.0,0
-77.0,1.0,4.0,125.0,304.0,0.0,2.0,162.0,1.0,0.0,1.0,3.0,3.0,4
-54.0,0.0,3.0,110.0,214.0,0.0,0.0,158.0,0.0,1.6,2.0,0.0,3.0,0
-58.0,0.0,4.0,100.0,248.0,0.0,2.0,122.0,0.0,1.0,2.0,0.0,3.0,0
-48.0,1.0,3.0,124.0,255.0,1.0,0.0,175.0,0.0,0.0,1.0,2.0,3.0,0
-57.0,1.0,4.0,132.0,207.0,0.0,0.0,168.0,1.0,0.0,1.0,0.0,7.0,0
-52.0,1.0,3.0,138.0,223.0,0.0,0.0,169.0,0.0,0.0,1.0,?,3.0,0
-54.0,0.0,2.0,132.0,288.0,1.0,2.0,159.0,1.0,0.0,1.0,1.0,3.0,0
-35.0,1.0,4.0,126.0,282.0,0.0,2.0,156.0,1.0,0.0,1.0,0.0,7.0,1
-45.0,0.0,2.0,112.0,160.0,0.0,0.0,138.0,0.0,0.0,2.0,0.0,3.0,0
-70.0,1.0,3.0,160.0,269.0,0.0,0.0,112.0,1.0,2.9,2.0,1.0,7.0,3
-53.0,1.0,4.0,142.0,226.0,0.0,2.0,111.0,1.0,0.0,1.0,0.0,7.0,0
-59.0,0.0,4.0,174.0,249.0,0.0,0.0,143.0,1.0,0.0,2.0,0.0,3.0,1
-62.0,0.0,4.0,140.0,394.0,0.0,2.0,157.0,0.0,1.2,2.0,0.0,3.0,0
-64.0,1.0,4.0,145.0,212.0,0.0,2.0,132.0,0.0,2.0,2.0,2.0,6.0,4
-57.0,1.0,4.0,152.0,274.0,0.0,0.0,88.0,1.0,1.2,2.0,1.0,7.0,1
-52.0,1.0,4.0,108.0,233.0,1.0,0.0,147.0,0.0,0.1,1.0,3.0,7.0,0
-56.0,1.0,4.0,132.0,184.0,0.0,2.0,105.0,1.0,2.1,2.0,1.0,6.0,1
-43.0,1.0,3.0,130.0,315.0,0.0,0.0,162.0,0.0,1.9,1.0,1.0,3.0,0
-53.0,1.0,3.0,130.0,246.0,1.0,2.0,173.0,0.0,0.0,1.0,3.0,3.0,0
-48.0,1.0,4.0,124.0,274.0,0.0,2.0,166.0,0.0,0.5,2.0,0.0,7.0,3
-56.0,0.0,4.0,134.0,409.0,0.0,2.0,150.0,1.0,1.9,2.0,2.0,7.0,2
-42.0,1.0,1.0,148.0,244.0,0.0,2.0,178.0,0.0,0.8,1.0,2.0,3.0,0
-59.0,1.0,1.0,178.0,270.0,0.0,2.0,145.0,0.0,4.2,3.0,0.0,7.0,0
-60.0,0.0,4.0,158.0,305.0,0.0,2.0,161.0,0.0,0.0,1.0,0.0,3.0,1
-63.0,0.0,2.0,140.0,195.0,0.0,0.0,179.0,0.0,0.0,1.0,2.0,3.0,0
-42.0,1.0,3.0,120.0,240.0,1.0,0.0,194.0,0.0,0.8,3.0,0.0,7.0,0
-66.0,1.0,2.0,160.0,246.0,0.0,0.0,120.0,1.0,0.0,2.0,3.0,6.0,2
-54.0,1.0,2.0,192.0,283.0,0.0,2.0,195.0,0.0,0.0,1.0,1.0,7.0,1
-69.0,1.0,3.0,140.0,254.0,0.0,2.0,146.0,0.0,2.0,2.0,3.0,7.0,2
-50.0,1.0,3.0,129.0,196.0,0.0,0.0,163.0,0.0,0.0,1.0,0.0,3.0,0
-51.0,1.0,4.0,140.0,298.0,0.0,0.0,122.0,1.0,4.2,2.0,3.0,7.0,3
-43.0,1.0,4.0,132.0,247.0,1.0,2.0,143.0,1.0,0.1,2.0,?,7.0,1
-62.0,0.0,4.0,138.0,294.0,1.0,0.0,106.0,0.0,1.9,2.0,3.0,3.0,2
-68.0,0.0,3.0,120.0,211.0,0.0,2.0,115.0,0.0,1.5,2.0,0.0,3.0,0
-67.0,1.0,4.0,100.0,299.0,0.0,2.0,125.0,1.0,0.9,2.0,2.0,3.0,3
-69.0,1.0,1.0,160.0,234.0,1.0,2.0,131.0,0.0,0.1,2.0,1.0,3.0,0
-45.0,0.0,4.0,138.0,236.0,0.0,2.0,152.0,1.0,0.2,2.0,0.0,3.0,0
-50.0,0.0,2.0,120.0,244.0,0.0,0.0,162.0,0.0,1.1,1.0,0.0,3.0,0
-59.0,1.0,1.0,160.0,273.0,0.0,2.0,125.0,0.0,0.0,1.0,0.0,3.0,1
-50.0,0.0,4.0,110.0,254.0,0.0,2.0,159.0,0.0,0.0,1.0,0.0,3.0,0
-64.0,0.0,4.0,180.0,325.0,0.0,0.0,154.0,1.0,0.0,1.0,0.0,3.0,0
-57.0,1.0,3.0,150.0,126.0,1.0,0.0,173.0,0.0,0.2,1.0,1.0,7.0,0
-64.0,0.0,3.0,140.0,313.0,0.0,0.0,133.0,0.0,0.2,1.0,0.0,7.0,0
-43.0,1.0,4.0,110.0,211.0,0.0,0.0,161.0,0.0,0.0,1.0,0.0,7.0,0
-45.0,1.0,4.0,142.0,309.0,0.0,2.0,147.0,1.0,0.0,2.0,3.0,7.0,3
-58.0,1.0,4.0,128.0,259.0,0.0,2.0,130.0,1.0,3.0,2.0,2.0,7.0,3
-50.0,1.0,4.0,144.0,200.0,0.0,2.0,126.0,1.0,0.9,2.0,0.0,7.0,3
-55.0,1.0,2.0,130.0,262.0,0.0,0.0,155.0,0.0,0.0,1.0,0.0,3.0,0
-62.0,0.0,4.0,150.0,244.0,0.0,0.0,154.0,1.0,1.4,2.0,0.0,3.0,1
-37.0,0.0,3.0,120.0,215.0,0.0,0.0,170.0,0.0,0.0,1.0,0.0,3.0,0
-38.0,1.0,1.0,120.0,231.0,0.0,0.0,182.0,1.0,3.8,2.0,0.0,7.0,4
-41.0,1.0,3.0,130.0,214.0,0.0,2.0,168.0,0.0,2.0,2.0,0.0,3.0,0
-66.0,0.0,4.0,178.0,228.0,1.0,0.0,165.0,1.0,1.0,2.0,2.0,7.0,3
-52.0,1.0,4.0,112.0,230.0,0.0,0.0,160.0,0.0,0.0,1.0,1.0,3.0,1
-56.0,1.0,1.0,120.0,193.0,0.0,2.0,162.0,0.0,1.9,2.0,0.0,7.0,0
-46.0,0.0,2.0,105.0,204.0,0.0,0.0,172.0,0.0,0.0,1.0,0.0,3.0,0
-46.0,0.0,4.0,138.0,243.0,0.0,2.0,152.0,1.0,0.0,2.0,0.0,3.0,0
-64.0,0.0,4.0,130.0,303.0,0.0,0.0,122.0,0.0,2.0,2.0,2.0,3.0,0
-59.0,1.0,4.0,138.0,271.0,0.0,2.0,182.0,0.0,0.0,1.0,0.0,3.0,0
-41.0,0.0,3.0,112.0,268.0,0.0,2.0,172.0,1.0,0.0,1.0,0.0,3.0,0
-54.0,0.0,3.0,108.0,267.0,0.0,2.0,167.0,0.0,0.0,1.0,0.0,3.0,0
-39.0,0.0,3.0,94.0,199.0,0.0,0.0,179.0,0.0,0.0,1.0,0.0,3.0,0
-53.0,1.0,4.0,123.0,282.0,0.0,0.0,95.0,1.0,2.0,2.0,2.0,7.0,3
-63.0,0.0,4.0,108.0,269.0,0.0,0.0,169.0,1.0,1.8,2.0,2.0,3.0,1
-34.0,0.0,2.0,118.0,210.0,0.0,0.0,192.0,0.0,0.7,1.0,0.0,3.0,0
-47.0,1.0,4.0,112.0,204.0,0.0,0.0,143.0,0.0,0.1,1.0,0.0,3.0,0
-67.0,0.0,3.0,152.0,277.0,0.0,0.0,172.0,0.0,0.0,1.0,1.0,3.0,0
-54.0,1.0,4.0,110.0,206.0,0.0,2.0,108.0,1.0,0.0,2.0,1.0,3.0,3
-66.0,1.0,4.0,112.0,212.0,0.0,2.0,132.0,1.0,0.1,1.0,1.0,3.0,2
-52.0,0.0,3.0,136.0,196.0,0.0,2.0,169.0,0.0,0.1,2.0,0.0,3.0,0
-55.0,0.0,4.0,180.0,327.0,0.0,1.0,117.0,1.0,3.4,2.0,0.0,3.0,2
-49.0,1.0,3.0,118.0,149.0,0.0,2.0,126.0,0.0,0.8,1.0,3.0,3.0,1
-74.0,0.0,2.0,120.0,269.0,0.0,2.0,121.0,1.0,0.2,1.0,1.0,3.0,0
-54.0,0.0,3.0,160.0,201.0,0.0,0.0,163.0,0.0,0.0,1.0,1.0,3.0,0
-54.0,1.0,4.0,122.0,286.0,0.0,2.0,116.0,1.0,3.2,2.0,2.0,3.0,3
-56.0,1.0,4.0,130.0,283.0,1.0,2.0,103.0,1.0,1.6,3.0,0.0,7.0,2
-46.0,1.0,4.0,120.0,249.0,0.0,2.0,144.0,0.0,0.8,1.0,0.0,7.0,1
-49.0,0.0,2.0,134.0,271.0,0.0,0.0,162.0,0.0,0.0,2.0,0.0,3.0,0
-42.0,1.0,2.0,120.0,295.0,0.0,0.0,162.0,0.0,0.0,1.0,0.0,3.0,0
-41.0,1.0,2.0,110.0,235.0,0.0,0.0,153.0,0.0,0.0,1.0,0.0,3.0,0
-41.0,0.0,2.0,126.0,306.0,0.0,0.0,163.0,0.0,0.0,1.0,0.0,3.0,0
-49.0,0.0,4.0,130.0,269.0,0.0,0.0,163.0,0.0,0.0,1.0,0.0,3.0,0
-61.0,1.0,1.0,134.0,234.0,0.0,0.0,145.0,0.0,2.6,2.0,2.0,3.0,2
-60.0,0.0,3.0,120.0,178.0,1.0,0.0,96.0,0.0,0.0,1.0,0.0,3.0,0
-67.0,1.0,4.0,120.0,237.0,0.0,0.0,71.0,0.0,1.0,2.0,0.0,3.0,2
-58.0,1.0,4.0,100.0,234.0,0.0,0.0,156.0,0.0,0.1,1.0,1.0,7.0,2
-47.0,1.0,4.0,110.0,275.0,0.0,2.0,118.0,1.0,1.0,2.0,1.0,3.0,1
-52.0,1.0,4.0,125.0,212.0,0.0,0.0,168.0,0.0,1.0,1.0,2.0,7.0,3
-62.0,1.0,2.0,128.0,208.0,1.0,2.0,140.0,0.0,0.0,1.0,0.0,3.0,0
-57.0,1.0,4.0,110.0,201.0,0.0,0.0,126.0,1.0,1.5,2.0,0.0,6.0,0
-58.0,1.0,4.0,146.0,218.0,0.0,0.0,105.0,0.0,2.0,2.0,1.0,7.0,1
-64.0,1.0,4.0,128.0,263.0,0.0,0.0,105.0,1.0,0.2,2.0,1.0,7.0,0
-51.0,0.0,3.0,120.0,295.0,0.0,2.0,157.0,0.0,0.6,1.0,0.0,3.0,0
-43.0,1.0,4.0,115.0,303.0,0.0,0.0,181.0,0.0,1.2,2.0,0.0,3.0,0
-42.0,0.0,3.0,120.0,209.0,0.0,0.0,173.0,0.0,0.0,2.0,0.0,3.0,0
-67.0,0.0,4.0,106.0,223.0,0.0,0.0,142.0,0.0,0.3,1.0,2.0,3.0,0
-76.0,0.0,3.0,140.0,197.0,0.0,1.0,116.0,0.0,1.1,2.0,0.0,3.0,0
-70.0,1.0,2.0,156.0,245.0,0.0,2.0,143.0,0.0,0.0,1.0,0.0,3.0,0
-57.0,1.0,2.0,124.0,261.0,0.0,0.0,141.0,0.0,0.3,1.0,0.0,7.0,1
-44.0,0.0,3.0,118.0,242.0,0.0,0.0,149.0,0.0,0.3,2.0,1.0,3.0,0
-58.0,0.0,2.0,136.0,319.0,1.0,2.0,152.0,0.0,0.0,1.0,2.0,3.0,3
-60.0,0.0,1.0,150.0,240.0,0.0,0.0,171.0,0.0,0.9,1.0,0.0,3.0,0
-44.0,1.0,3.0,120.0,226.0,0.0,0.0,169.0,0.0,0.0,1.0,0.0,3.0,0
-61.0,1.0,4.0,138.0,166.0,0.0,2.0,125.0,1.0,3.6,2.0,1.0,3.0,4
-42.0,1.0,4.0,136.0,315.0,0.0,0.0,125.0,1.0,1.8,2.0,0.0,6.0,2
-52.0,1.0,4.0,128.0,204.0,1.0,0.0,156.0,1.0,1.0,2.0,0.0,?,2
-59.0,1.0,3.0,126.0,218.0,1.0,0.0,134.0,0.0,2.2,2.0,1.0,6.0,2
-40.0,1.0,4.0,152.0,223.0,0.0,0.0,181.0,0.0,0.0,1.0,0.0,7.0,1
-42.0,1.0,3.0,130.0,180.0,0.0,0.0,150.0,0.0,0.0,1.0,0.0,3.0,0
-61.0,1.0,4.0,140.0,207.0,0.0,2.0,138.0,1.0,1.9,1.0,1.0,7.0,1
-66.0,1.0,4.0,160.0,228.0,0.0,2.0,138.0,0.0,2.3,1.0,0.0,6.0,0
-46.0,1.0,4.0,140.0,311.0,0.0,0.0,120.0,1.0,1.8,2.0,2.0,7.0,2
-71.0,0.0,4.0,112.0,149.0,0.0,0.0,125.0,0.0,1.6,2.0,0.0,3.0,0
-59.0,1.0,1.0,134.0,204.0,0.0,0.0,162.0,0.0,0.8,1.0,2.0,3.0,1
-64.0,1.0,1.0,170.0,227.0,0.0,2.0,155.0,0.0,0.6,2.0,0.0,7.0,0
-66.0,0.0,3.0,146.0,278.0,0.0,2.0,152.0,0.0,0.0,2.0,1.0,3.0,0
-39.0,0.0,3.0,138.0,220.0,0.0,0.0,152.0,0.0,0.0,2.0,0.0,3.0,0
-57.0,1.0,2.0,154.0,232.0,0.0,2.0,164.0,0.0,0.0,1.0,1.0,3.0,1
-58.0,0.0,4.0,130.0,197.0,0.0,0.0,131.0,0.0,0.6,2.0,0.0,3.0,0
-57.0,1.0,4.0,110.0,335.0,0.0,0.0,143.0,1.0,3.0,2.0,1.0,7.0,2
-47.0,1.0,3.0,130.0,253.0,0.0,0.0,179.0,0.0,0.0,1.0,0.0,3.0,0
-55.0,0.0,4.0,128.0,205.0,0.0,1.0,130.0,1.0,2.0,2.0,1.0,7.0,3
-35.0,1.0,2.0,122.0,192.0,0.0,0.0,174.0,0.0,0.0,1.0,0.0,3.0,0
-61.0,1.0,4.0,148.0,203.0,0.0,0.0,161.0,0.0,0.0,1.0,1.0,7.0,2
-58.0,1.0,4.0,114.0,318.0,0.0,1.0,140.0,0.0,4.4,3.0,3.0,6.0,4
-58.0,0.0,4.0,170.0,225.0,1.0,2.0,146.0,1.0,2.8,2.0,2.0,6.0,2
-58.0,1.0,2.0,125.0,220.0,0.0,0.0,144.0,0.0,0.4,2.0,?,7.0,0
-56.0,1.0,2.0,130.0,221.0,0.0,2.0,163.0,0.0,0.0,1.0,0.0,7.0,0
-56.0,1.0,2.0,120.0,240.0,0.0,0.0,169.0,0.0,0.0,3.0,0.0,3.0,0
-67.0,1.0,3.0,152.0,212.0,0.0,2.0,150.0,0.0,0.8,2.0,0.0,7.0,1
-55.0,0.0,2.0,132.0,342.0,0.0,0.0,166.0,0.0,1.2,1.0,0.0,3.0,0
-44.0,1.0,4.0,120.0,169.0,0.0,0.0,144.0,1.0,2.8,3.0,0.0,6.0,2
-63.0,1.0,4.0,140.0,187.0,0.0,2.0,144.0,1.0,4.0,1.0,2.0,7.0,2
-63.0,0.0,4.0,124.0,197.0,0.0,0.0,136.0,1.0,0.0,2.0,0.0,3.0,1
-41.0,1.0,2.0,120.0,157.0,0.0,0.0,182.0,0.0,0.0,1.0,0.0,3.0,0
-59.0,1.0,4.0,164.0,176.0,1.0,2.0,90.0,0.0,1.0,2.0,2.0,6.0,3
-57.0,0.0,4.0,140.0,241.0,0.0,0.0,123.0,1.0,0.2,2.0,0.0,7.0,1
-45.0,1.0,1.0,110.0,264.0,0.0,0.0,132.0,0.0,1.2,2.0,0.0,7.0,1
-68.0,1.0,4.0,144.0,193.0,1.0,0.0,141.0,0.0,3.4,2.0,2.0,7.0,2
-57.0,1.0,4.0,130.0,131.0,0.0,0.0,115.0,1.0,1.2,2.0,1.0,7.0,3
-57.0,0.0,2.0,130.0,236.0,0.0,2.0,174.0,0.0,0.0,2.0,1.0,3.0,1
-38.0,1.0,3.0,138.0,175.0,0.0,0.0,173.0,0.0,0.0,1.0,?,3.0,0
diff --git a/notebooks/project_1.ipynb b/notebooks/project_1.ipynb
deleted file mode 100644
index 99d6104..0000000
--- a/notebooks/project_1.ipynb
+++ /dev/null
@@ -1,322 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# Project: Part 1"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Today we will (finally) begin our project! Please use the following links to read about the Twitter REST API:\n",
- "\n",
- "* REST APIs: https://dev.twitter.com/rest/public\n",
- "* For gathering information about a Twitter user's followers: https://dev.twitter.com/rest/reference/get/followers/list\n",
- "* For searching tweets using various parameters (Megan's favorite): https://dev.twitter.com/rest/reference/get/search/tweets\n",
- "\n",
- "**Our Twitter key: Q8kC59z8t8T7CCtIErEGFzAce**\n",
- "\n",
- "Other links referenced today:\n",
- "* [538 - Political statistics](http://fivethirtyeight.com/)\n",
- "* [How to apply for Twitter API key](https://apps.twitter.com/)\n",
- "* [Twitter advanced search engine](https://twitter.com/search-advanced?lang=en)\n",
- "* [Tweepy documentation](http://tweepy.readthedocs.io/en/v3.5.0/getting_started.html#api)\n",
- "* [Twitter API documentation](https://dev.twitter.com/rest/reference)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Search Request"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "As with most Twitter API GET requests, the Tweet search returns a response in JSON. The link above gives a sample output from a search GEt request.\n",
- "\n",
- "To make a GET request using the Search API for Tweets, here are the parameters (included for convenience):\n",
- "\n",
- "*Required parameters*:\n",
- "\n",
- "* q: A [UTF-8](https://en.wikipedia.org/wiki/UTF-8), [URL-encoded](https://en.wikipedia.org/wiki/Percent-encoding) search query of 500 characters or less, including operators. May additionally be limited by complexity.\n",
- "\n",
- "*Optional parameters*:\n",
- "\n",
- "* **geocode**: Returns tweets by users located within a given radius of the given latitude/longitude. The location is preferentially taking from the Geotagging API, but will fall back to the location associated with their Twitter profile. The parameter value is specified by “latitude,longitude,radius”, where radius units must be specified as either “mi” (miles) or “km” (kilometers). Example values: 37.781157,-122.398720,1mi\n",
- "* **lang**: Restricts tweets to the given language, given by an [ISO 639-1](https://en.wikipedia.org/wiki/ISO_639-1) code. Language detection is best-effort.\n",
- "* **result_type**: Specifies what type of search results you would prefer to receive. The current default is “recent.” Valid values include:\n",
- " * mixed: Include both popular and real time results in the response.\n",
- " * recent: return only the most recent results in the response\n",
- " * popular: return only the most popular results in the response.\n",
- "* **count**: The number of tweets to return per page, up to a maximum of 100. Defaults to 15. This was formerly the “rpp” parameter in the old Search API.\n",
- "* **until**: Returns tweets created before the given date. Date should be formatted as YYYY-MM-DD. Keep in mind that the search index has a 7-day limit. In other words, no tweets will be found for a date older than one week.\n",
- "* **since_id**: Returns results with an ID greater than (that is, more recent than) the specified ID. There are limits to the number of Tweets which can be accessed through the API. If the limit of Tweets has occured since the since_id, the since_id will be forced to the oldest ID available.\n",
- "* **max_id**: Returns results with an ID less than (that is, older than) or equal to the specified ID.\n",
- "\n",
- "\n",
- "*Example request*:\n",
- "GET\n",
- "https://api.twitter.com/1.1/search/tweets.json?q=%23freebandnames&since_id=24012619984051000&max_id=250126199840518145&result_type=mixed&count=4"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Data Returned"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "The data returned in each API response for a given search term includes:\n",
- "\n",
- "* Coordinates\n",
- "* Favorited, truncated, retweeted booleans\n",
- "* Much more (see documentation)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Tweepy: Twitter Python Library"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "We will be using the Twitter Python Library, Tweepy, to make our API calls easier.\n",
- "\n",
- "In order to access Tweepy, we will need to install the library. Please try running the follow command on your machines from the terminal or command line:\n",
- "\n",
- "`pip install tweepy`\n",
- "\n",
- "Once you have completed this installation, please let us know, and then follow [this link](http://tweepy.readthedocs.io/en/v3.5.0/getting_started.html) to read the intro to Tweepy."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Using Tweepy methods to write functions"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Now we will make some imports and use the Tweepy notation to call the Twitter API and gather some information. First, we will need to follow some steps to authenticate our program."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Import required libraries\n",
- "import tweepy\n",
- "# Other libraries related to APIs:\n",
- "# requests\n",
- "# json"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "## Our access key, mentioned above\n",
- "consumer_key = 'Q8kC59z8t8T7CCtIErEGFzAce'\n",
- "## Our signature, also given upon app creation\n",
- "consumer_secret = '24bbPpWfjjDKpp0DpIhsBj4q8tUhPQ3DoAf2UWFoN4NxIJ19Ja'\n",
- "## Our access token, generated upon request\n",
- "access_token = '719722984693448704-lGVe8IEmjzpd8RZrCBoYSMug5uoqUkP'\n",
- "## Our secret access token, also generated upon request\n",
- "access_token_secret = 'LrdtfdFSKc3gbRFiFNJ1wZXQNYEVlOobsEGffRECWpLNG'\n",
- "\n",
- "## Set of Tweepy authorization commands\n",
- "auth = tweepy.OAuthHandler(consumer_key, consumer_secret)\n",
- "auth.set_access_token(access_token, access_token_secret)\n",
- "api = tweepy.API(auth)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Now that we have authenticated, we can make a call to the Twitter API. Here we will print Megan's Twitter feed. Note that Megan's Twitter account was created for the sole purpose of finding out the Yogurt Park flavor of the day..."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "## Print all of the tweents on my timeline\n",
- "public_tweets = api.home_timeline()\n",
- "tweet_texts = []\n",
- "for tweet in public_tweets:\n",
- " tweet_texts.append(tweet.text)\n",
- " print(tweet.text)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "What might we able to do with this information? What do you expect the following function to output based on the above output?"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "def parse_flavors(tweets):\n",
- " for tweet in tweets:\n",
- " date = tweet[0:tweet.find(\"Flavors\")]\n",
- " start = tweet.find('- ')\n",
- " rest = start + 1\n",
- " end = tweet[rest:].find('\\n') + rest\n",
- " flavor = tweet[rest:end]\n",
- " print(\"Top flavor for \" + date + \"was\" + flavor)\n",
- " \n",
- "parse_flavors(tweet_texts)\n",
- " "
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Now we will focus a little closer on our project objective: to gather data about the election. Here we will make variables for each of the presidential candidates."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 1,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "ename": "NameError",
- "evalue": "name 'api' is not defined",
- "output_type": "error",
- "traceback": [
- "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
- "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
- "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mdonald\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mapi\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_user\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'realDonaldTrump'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdonald\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mscreen_name\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdonald\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfollowers_count\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;31mNameError\u001b[0m: name 'api' is not defined"
- ]
- }
- ],
- "source": [
- "donald = api.get_user('realDonaldTrump')\n",
- "print(donald.screen_name)\n",
- "print(donald.followers_count)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "hillary = api.get_user('HillaryClinton')\n",
- "print(hillary.screen_name)\n",
- "print(hillary.followers_count)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Here are some example functions to give you an idea of how to use the Tweepy API calls to output some info. To get an idea of the types of information that you can gather about a user, follow [this link](https://dev.twitter.com/rest/reference/get/users/show) and look over the sample output. That is a JSON dictionary, where each of the keys are user attributes that we can access using dot notation. See the below functions for examples."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "def print_most_popular(user1, user2):\n",
- " user1_followers_count = api.get_user(user1).followers_count\n",
- " user2_followers_count = api.get_user(user2).followers_count\n",
- " if (user1_followers_count > user2_followers_count):\n",
- " print(\"More popular user is \" + user1)\n",
- " elif (user2_followers_count > user1_followers_count):\n",
- " print(\"More popular user is \" + user2)\n",
- " else:\n",
- " print(\"These users are equally popular\")\n",
- " \n",
- "print_most_popular('HillaryClinton', 'realDonaldTrump')\n",
- "print_most_popular('HillaryClinton', 'HillaryClinton')"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "def print_user_location(username):\n",
- " print(\"Account \" + username + \" has base location \" +\n",
- " api.get_user(username).location)\n",
- " \n",
- "print_user_location('HillaryClinton')\n",
- "print_user_location('realDonaldTrump')\n",
- "print_user_location('twitter')"
- ]
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.4.5"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 0
-}
diff --git a/notebooks/project_2.ipynb b/notebooks/project_2.ipynb
deleted file mode 100644
index 35248a0..0000000
--- a/notebooks/project_2.ipynb
+++ /dev/null
@@ -1,1039 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# Project: Part 2"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Today we will continue this semester's project. To download last week's notebook, click [here](https://drive.google.com/open?id=0B3D_PdrFcBfRaG5zcXQyYW1QR1k)."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Reference Bank\n",
- "\n",
- "Other links referenced today:\n",
- "* [538 - Political statistics](http://fivethirtyeight.com/)\n",
- "* [How to apply for Twitter API key](https://apps.twitter.com/)\n",
- "* [Twitter advanced search engine](https://twitter.com/search-advanced?lang=en)\n",
- "* [Tweepy documentation](http://tweepy.readthedocs.io/en/v3.5.0/getting_started.html#api)\n",
- "* [Twitter API documentation](https://dev.twitter.com/rest/reference)\n",
- "\n",
- "**Our Twitter key: Q8kC59z8t8T7CCtIErEGFzAce**"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Today:\n",
- "\n",
- "* Make an API call to gather information on `________` (?)\n",
- "* Review the format of the text, and make a plan to parse it\n",
- "* Organize it into a dictionary\n",
- "\n",
- "Weeks to come:\n",
- "\n",
- "* Review the data collected\n",
- "* Write the dictionary into a CSV file\n",
- "* Plot some significant information using matplotlib\n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Review"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "**Review of function definitions**"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 1,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "6"
- ]
- },
- "execution_count": 1,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "def function_name(function_parameter1, function_parameter2):\n",
- " # Function body\n",
- " return_value = function_parameter1 * function_parameter2\n",
- " return return_value\n",
- "\n",
- "# After defining, run the function\n",
- "function_name(2, 3)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "**Review of loop structure**"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 2,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Sum of list is 6\n",
- "Incremented list is [2, 3, 4]\n",
- "dlrow olleH\n"
- ]
- }
- ],
- "source": [
- "# Iterable types include lists, strings and dictionaries\n",
- "iterable = [1, 2, 3]\n",
- "\n",
- "# Sum list items\n",
- "sum = 0\n",
- "for item in iterable:\n",
- " # Loop body\n",
- " sum += item\n",
- "print(\"Sum of list is \" + str(sum))\n",
- "\n",
- "# Increment list items\n",
- "for index in range(len(iterable)):\n",
- " iterable[index] += 1\n",
- "print(\"Incremented list is \" + str(iterable))\n",
- "\n",
- "# Reverse a string\n",
- "string = \"\"\n",
- "for character in \"Hello world\":\n",
- " string = character + string\n",
- "print(string)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "**Review of string manipulation**"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 4,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "bcd\n",
- "The last character of this string should be a 'w'. w\n",
- "this is a sentence\n"
- ]
- }
- ],
- "source": [
- "# Get middle characters of a string\n",
- "def return_middle(string):\n",
- " return string[1:-1]\n",
- "print(return_middle(\"abcde\"))\n",
- "\n",
- "# Get all but the last character of a string\n",
- "def all_but_last(string):\n",
- " return string[:-1]\n",
- "print(all_but_last(\"The last character of this string should be a 'w'. wr\"))\n",
- "\n",
- "# Combine all of the strings in a list\n",
- "def make_sentence(list_of_words):\n",
- " sentence = \"\"\n",
- " for word in list_of_words:\n",
- " sentence = sentence + word + \" \"\n",
- " return sentence[:-1]\n",
- "print(make_sentence([\"this\", \"is\", \"a\", \"sentence\"]))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## New String Methods"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "We know how to do basic string indexing at this point, but there are many built-in Python methods that help us handle strings tactfully. Here are some important methods that will be useful as we parse text, with examples.\n",
- "\n",
- "String methods summary from [Google](https://developers.google.com/edu/python/strings) (where s is a string):\n",
- "\n",
- "* *s.lower(), s.upper()*: returns the lowercase or uppercase version of the string\n",
- "* *s.strip()*: returns a string with whitespace removed from the start and end\n",
- "* *s.isalpha()/s.isdigit()/s.isspace()...*: tests if all the string chars are in the various character classes\n",
- "* *s.startswith('other'), s.endswith('other')*: tests if the string starts or ends with the given other string\n",
- "* *s.find('other')*: searches for the given other string (not a regular expression) within s, and returns the first index where it begins or -1 if not found\n",
- "* *s.replace('old', 'new')*: returns a string where all occurrences of 'old' have been replaced by 'new'\n",
- "* *s.split('delim')*: returns a list of substrings separated by the given delimiter. The delimiter is not a regular expression, it's just text. 'aaa,bbb,ccc'.split(',') -> ['aaa', 'bbb', 'ccc']. As a convenient special case s.split() (with no arguments) splits on all whitespace chars.\n",
- "* *s.join(list)*: opposite of split(), joins the elements in the given list together using the string as the delimiter. e.g. '---'.join(['aaa', 'bbb', 'ccc']) -> aaa---bbb---ccc"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 5,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "'Megan Elizabeth Carey'"
- ]
- },
- "execution_count": 5,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "# Lower/upper, split example\n",
- "def make_name(string):\n",
- " # Split the string into separate words, with space as delimiter\n",
- " words = string.split(' ')\n",
- " # Make dummy string to be returned\n",
- " to_return = \"\"\n",
- " for word in words:\n",
- " # Add the uppercase first letter of each word\n",
- " to_return += word[0].upper()\n",
- " # Add rest of word\n",
- " to_return += word[1:]\n",
- " # Add spaces between words\n",
- " to_return += \" \"\n",
- " # Return string, with last space omitted\n",
- " return to_return[:-1]\n",
- " \n",
- "make_name(\"megan elizabeth carey\")"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 6,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "47\n",
- "63\n"
- ]
- }
- ],
- "source": [
- "# Strip example\n",
- "text = \" nonsense at beginning and end should be trimmed \"\n",
- "print(len(text.strip()))\n",
- "print(len(text))"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 7,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "True\n",
- "True\n",
- "False\n"
- ]
- }
- ],
- "source": [
- "# Startswith/endswith example\n",
- "def check_start_or_end(string, substring):\n",
- " if string.startswith(substring):\n",
- " return True\n",
- " elif string.endswith(substring):\n",
- " return True\n",
- " else:\n",
- " return False\n",
- " \n",
- "print(check_start_or_end(\"megan carey\", \"me\"))\n",
- "print(check_start_or_end(\"megan carey\", \"rey\"))\n",
- "print(check_start_or_end(\"megan carey\", \"hi\"))"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 8,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Hello there? How's it going!\n"
- ]
- }
- ],
- "source": [
- "# Replace example\n",
- "def find_and_swap(string1, string2, string3):\n",
- " # Find the first index where the second input string occurs\n",
- " first_end = string1.find(string2) + 1\n",
- " # Make one substring up to that point\n",
- " substring1 = string1[:first_end]\n",
- " # Make anotehr substring after that point\n",
- " substring2 = string1[first_end:]\n",
- " # Replace the second input string with the third\n",
- " substring1 = substring1.replace(string2, string3)\n",
- " # Replace the third input string with the second\n",
- " substring2 = substring2.replace(string3, string2)\n",
- " # Concatenate the strings\n",
- " return substring1 + substring2\n",
- "\n",
- "print(find_and_swap(\"Hello there! How's it going?\", \"!\", \"?\"))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Making an API Call"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Now we'll make an API call using Tweepy. We will probably want to use the Tweepy Cursor methods, so check out [this link](http://tweepy.readthedocs.io/en/v3.5.0/cursor_tutorial.html) for a tutorial."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 9,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "## Import required libraries\n",
- "import tweepy"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 10,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "## Our access key, mentioned above\n",
- "consumer_key = 'Q8kC59z8t8T7CCtIErEGFzAce'\n",
- "## Our signature, also given upon app creation\n",
- "consumer_secret = '24bbPpWfjjDKpp0DpIhsBj4q8tUhPQ3DoAf2UWFoN4NxIJ19Ja'\n",
- "## Our access token, generated upon request\n",
- "access_token = '719722984693448704-lGVe8IEmjzpd8RZrCBoYSMug5uoqUkP'\n",
- "## Our secret access token, also generated upon request\n",
- "access_token_secret = 'LrdtfdFSKc3gbRFiFNJ1wZXQNYEVlOobsEGffRECWpLNG'\n",
- "\n",
- "## Set of Tweepy authorization commands\n",
- "auth = tweepy.OAuthHandler(consumer_key, consumer_secret)\n",
- "auth.set_access_token(access_token, access_token_secret)\n",
- "api = tweepy.API(auth)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "## Make API Calls. Get some standard values.\n",
- "donald = api.get_user('realDonaldTrump')\n",
- "hillary = api.get_user('HillaryClinton')\n",
- "\n",
- "donald_timeline = api.user_timeline('realDonaldTrump')\n",
- "hillary_timeline = api.user_timeline('HillaryClinton')\n",
- "\n",
- "donald_status = donald_timeline"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 11,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "## Make API Calls. Get some standard values.\n",
- "donald = api.get_user('realDonaldTrump')\n",
- "hillary = api.get_user('HillaryClinton')\n",
- "\n",
- "donald_timeline = api.user_timeline('realDonaldTrump')\n",
- "hillary_timeline = api.user_timeline('HillaryClinton')\n",
- "\n",
- "donald_status = donald_timeline"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 16,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[Status(source_url='http://twitter.com/download/iphone', _api=, entities={'urls': [], 'symbols': [], 'user_mentions': [], 'hashtags': []}, favorite_count=7783, author=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), _json={'entities': {'urls': [], 'symbols': [], 'user_mentions': [], 'hashtags': []}, 'favorite_count': 7783, 'in_reply_to_screen_name': None, 'geo': None, 'in_reply_to_status_id': None, 'created_at': 'Tue Nov 08 00:17:57 +0000 2016', 'retweet_count': 2858, 'truncated': False, 'coordinates': None, 'source': 'Twitter for iPhone ', 'lang': 'en', 'in_reply_to_status_id_str': None, 'contributors': None, 'favorited': False, 'retweeted': False, 'id': 795782371895349250, 'is_quote_status': False, 'in_reply_to_user_id': None, 'place': {'attributes': {}, 'url': 'https://api.twitter.com/1.1/geo/id/07d9e3e036c80001.json', 'place_type': 'poi', 'bounding_box': {'type': 'Polygon', 'coordinates': [[[-75.72850227355957, 41.33738044540721], [-75.72850227355957, 41.33738044540721], [-75.72850227355957, 41.33738044540721], [-75.72850227355957, 41.33738044540721]]]}, 'country': 'United States', 'full_name': 'Wilkes-Barre/Scranton International Airport (AVP)', 'country_code': 'US', 'name': 'Wilkes-Barre/Scranton International Airport (AVP)', 'contained_within': [], 'id': '07d9e3e036c80001'}, 'user': {'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, 'text': 'Big news to share in New Hampshire tonight! Polls looking great! See you soon.', 'in_reply_to_user_id_str': None, 'id_str': '795782371895349250'}, in_reply_to_screen_name=None, geo=None, in_reply_to_status_id=None, created_at=datetime.datetime(2016, 11, 8, 0, 17, 57), lang='en', truncated=False, is_quote_status=False, source='Twitter for iPhone', in_reply_to_status_id_str=None, coordinates=None, contributors=None, favorited=False, user=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), retweeted=False, id=795782371895349250, in_reply_to_user_id=None, place=Place(attributes={}, place_type='poi', _api=, bounding_box=BoundingBox(_api=, type='Polygon', coordinates=[[[-75.72850227355957, 41.33738044540721], [-75.72850227355957, 41.33738044540721], [-75.72850227355957, 41.33738044540721], [-75.72850227355957, 41.33738044540721]]]), url='https://api.twitter.com/1.1/geo/id/07d9e3e036c80001.json', country='United States', country_code='US', name='Wilkes-Barre/Scranton International Airport (AVP)', contained_within=[], id='07d9e3e036c80001', full_name='Wilkes-Barre/Scranton International Airport (AVP)'), id_str='795782371895349250', retweet_count=2858, text='Big news to share in New Hampshire tonight! Polls looking great! See you soon.', in_reply_to_user_id_str=None), Status(source_url='http://twitter.com/download/iphone', _api=, entities={'urls': [{'url': 'https://t.co/8eELqk2wUw', 'indices': [116, 139], 'expanded_url': 'https://www.facebook.com/DonaldTrump/posts/10158080188865725', 'display_url': 'facebook.com/DonaldTrump/po…'}], 'symbols': [], 'user_mentions': [], 'hashtags': []}, favorite_count=6441, possibly_sensitive=False, author=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), _json={'entities': {'urls': [{'url': 'https://t.co/8eELqk2wUw', 'indices': [116, 139], 'expanded_url': 'https://www.facebook.com/DonaldTrump/posts/10158080188865725', 'display_url': 'facebook.com/DonaldTrump/po…'}], 'symbols': [], 'user_mentions': [], 'hashtags': []}, 'favorite_count': 6441, 'possibly_sensitive': False, 'in_reply_to_screen_name': None, 'geo': None, 'in_reply_to_status_id': None, 'created_at': 'Tue Nov 08 00:16:15 +0000 2016', 'retweet_count': 2709, 'truncated': False, 'coordinates': None, 'source': 'Twitter for iPhone ', 'lang': 'en', 'in_reply_to_status_id_str': None, 'contributors': None, 'favorited': False, 'retweeted': False, 'id': 795781945607278592, 'is_quote_status': False, 'in_reply_to_user_id': None, 'place': {'attributes': {}, 'url': 'https://api.twitter.com/1.1/geo/id/07d9e3e036c80001.json', 'place_type': 'poi', 'bounding_box': {'type': 'Polygon', 'coordinates': [[[-75.72850227355957, 41.33738044540721], [-75.72850227355957, 41.33738044540721], [-75.72850227355957, 41.33738044540721], [-75.72850227355957, 41.33738044540721]]]}, 'country': 'United States', 'full_name': 'Wilkes-Barre/Scranton International Airport (AVP)', 'country_code': 'US', 'name': 'Wilkes-Barre/Scranton International Airport (AVP)', 'contained_within': [], 'id': '07d9e3e036c80001'}, 'user': {'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, 'text': 'Today in Florida, I pledged to stand with the people of Cuba and Venezuela in their fight against oppression- cont: https://t.co/8eELqk2wUw', 'in_reply_to_user_id_str': None, 'id_str': '795781945607278592'}, in_reply_to_screen_name=None, geo=None, in_reply_to_status_id=None, created_at=datetime.datetime(2016, 11, 8, 0, 16, 15), lang='en', truncated=False, is_quote_status=False, source='Twitter for iPhone', in_reply_to_status_id_str=None, coordinates=None, contributors=None, favorited=False, user=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), retweeted=False, id=795781945607278592, in_reply_to_user_id=None, place=Place(attributes={}, place_type='poi', _api=, bounding_box=BoundingBox(_api=, type='Polygon', coordinates=[[[-75.72850227355957, 41.33738044540721], [-75.72850227355957, 41.33738044540721], [-75.72850227355957, 41.33738044540721], [-75.72850227355957, 41.33738044540721]]]), url='https://api.twitter.com/1.1/geo/id/07d9e3e036c80001.json', country='United States', country_code='US', name='Wilkes-Barre/Scranton International Airport (AVP)', contained_within=[], id='07d9e3e036c80001', full_name='Wilkes-Barre/Scranton International Airport (AVP)'), id_str='795781945607278592', retweet_count=2709, text='Today in Florida, I pledged to stand with the people of Cuba and Venezuela in their fight against oppression- cont: https://t.co/8eELqk2wUw', in_reply_to_user_id_str=None), Status(source_url='http://twitter.com/download/iphone', _api=, entities={'urls': [{'url': 'https://t.co/d29DLINGst', 'indices': [92, 115], 'expanded_url': 'https://www.facebook.com/DonaldTrump/videos/10158079260770725/', 'display_url': 'facebook.com/DonaldTrump/vi…'}, {'url': 'https://t.co/zcH9crFIKM', 'indices': [117, 140], 'expanded_url': 'https://twitter.com/i/web/status/795779987152523264', 'display_url': 'twitter.com/i/web/status/7…'}], 'symbols': [], 'user_mentions': [], 'hashtags': []}, favorite_count=7020, possibly_sensitive=False, author=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), _json={'entities': {'urls': [{'url': 'https://t.co/d29DLINGst', 'indices': [92, 115], 'expanded_url': 'https://www.facebook.com/DonaldTrump/videos/10158079260770725/', 'display_url': 'facebook.com/DonaldTrump/vi…'}, {'url': 'https://t.co/zcH9crFIKM', 'indices': [117, 140], 'expanded_url': 'https://twitter.com/i/web/status/795779987152523264', 'display_url': 'twitter.com/i/web/status/7…'}], 'symbols': [], 'user_mentions': [], 'hashtags': []}, 'favorite_count': 7020, 'possibly_sensitive': False, 'in_reply_to_screen_name': None, 'geo': None, 'in_reply_to_status_id': None, 'created_at': 'Tue Nov 08 00:08:28 +0000 2016', 'retweet_count': 2523, 'truncated': True, 'coordinates': None, 'source': 'Twitter for iPhone ', 'lang': 'en', 'in_reply_to_status_id_str': None, 'contributors': None, 'favorited': False, 'retweeted': False, 'id': 795779987152523264, 'is_quote_status': False, 'in_reply_to_user_id': None, 'place': {'attributes': {}, 'url': 'https://api.twitter.com/1.1/geo/id/8e67b1e195b34dd8.json', 'place_type': 'city', 'bounding_box': {'type': 'Polygon', 'coordinates': [[[-75.719751, 41.369442], [-75.617789, 41.369442], [-75.617789, 41.469377], [-75.719751, 41.469377]]]}, 'country': 'United States', 'full_name': 'Scranton, PA', 'country_code': 'US', 'name': 'Scranton', 'contained_within': [], 'id': '8e67b1e195b34dd8'}, 'user': {'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, 'text': 'Thank you Pennsylvania! Going to New Hampshire now and on to Michigan. Watch PA rally here: https://t.co/d29DLINGst… https://t.co/zcH9crFIKM', 'in_reply_to_user_id_str': None, 'id_str': '795779987152523264'}, in_reply_to_screen_name=None, geo=None, in_reply_to_status_id=None, created_at=datetime.datetime(2016, 11, 8, 0, 8, 28), lang='en', truncated=True, is_quote_status=False, source='Twitter for iPhone', in_reply_to_status_id_str=None, coordinates=None, contributors=None, favorited=False, user=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), retweeted=False, id=795779987152523264, in_reply_to_user_id=None, place=Place(attributes={}, place_type='city', _api=, bounding_box=BoundingBox(_api=, type='Polygon', coordinates=[[[-75.719751, 41.369442], [-75.617789, 41.369442], [-75.617789, 41.469377], [-75.719751, 41.469377]]]), url='https://api.twitter.com/1.1/geo/id/8e67b1e195b34dd8.json', country='United States', country_code='US', name='Scranton', contained_within=[], id='8e67b1e195b34dd8', full_name='Scranton, PA'), id_str='795779987152523264', retweet_count=2523, text='Thank you Pennsylvania! Going to New Hampshire now and on to Michigan. Watch PA rally here: https://t.co/d29DLINGst… https://t.co/zcH9crFIKM', in_reply_to_user_id_str=None), Status(source_url='https://periscope.tv', _api=, entities={'urls': [{'url': 'https://t.co/Ej0LmMK3YU', 'indices': [105, 128], 'expanded_url': 'https://www.periscope.tv/w/au-0MDEyMzE3NDF8MXlvS01EQmFNYmx4UXtaU1dFdbs2hR83RLldPOOt9N_C3W-1tUxAlJep-jBY', 'display_url': 'periscope.tv/w/au-0MDEyMzE3…'}], 'symbols': [], 'user_mentions': [], 'hashtags': [{'text': 'Periscope', 'indices': [8, 18]}, {'text': 'MAGA', 'indices': [97, 102]}]}, favorite_count=11495, possibly_sensitive=False, author=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), _json={'entities': {'urls': [{'url': 'https://t.co/Ej0LmMK3YU', 'indices': [105, 128], 'expanded_url': 'https://www.periscope.tv/w/au-0MDEyMzE3NDF8MXlvS01EQmFNYmx4UXtaU1dFdbs2hR83RLldPOOt9N_C3W-1tUxAlJep-jBY', 'display_url': 'periscope.tv/w/au-0MDEyMzE3…'}], 'symbols': [], 'user_mentions': [], 'hashtags': [{'text': 'Periscope', 'indices': [8, 18]}, {'text': 'MAGA', 'indices': [97, 102]}]}, 'favorite_count': 11495, 'possibly_sensitive': False, 'in_reply_to_screen_name': None, 'geo': None, 'in_reply_to_status_id': None, 'created_at': 'Mon Nov 07 23:28:48 +0000 2016', 'retweet_count': 4402, 'truncated': False, 'coordinates': None, 'source': 'Periscope ', 'lang': 'en', 'in_reply_to_status_id_str': None, 'contributors': None, 'favorited': False, 'retweeted': False, 'id': 795770006306861057, 'is_quote_status': False, 'in_reply_to_user_id': None, 'place': None, 'user': {'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, 'text': 'LIVE on #Periscope: Join me for a few minutes in Pennsylvania. Get out & VOTE tomorrow. LETS #MAGA!! https://t.co/Ej0LmMK3YU', 'in_reply_to_user_id_str': None, 'id_str': '795770006306861057'}, in_reply_to_screen_name=None, geo=None, in_reply_to_status_id=None, created_at=datetime.datetime(2016, 11, 7, 23, 28, 48), lang='en', truncated=False, is_quote_status=False, source='Periscope', in_reply_to_status_id_str=None, coordinates=None, contributors=None, favorited=False, user=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), retweeted=False, id=795770006306861057, in_reply_to_user_id=None, place=None, id_str='795770006306861057', retweet_count=4402, text='LIVE on #Periscope: Join me for a few minutes in Pennsylvania. Get out & VOTE tomorrow. LETS #MAGA!! https://t.co/Ej0LmMK3YU', in_reply_to_user_id_str=None), Status(source_url='http://twitter.com/download/iphone', _api=, entities={'urls': [], 'symbols': [], 'user_mentions': [{'name': 'Chris Koster', 'id_str': '444219274', 'screen_name': 'Koster4Missouri', 'id': 444219274, 'indices': [48, 64]}, {'name': 'Eric Greitens', 'id_str': '24004390', 'screen_name': 'EricGreitens', 'id': 24004390, 'indices': [131, 144]}], 'hashtags': []}, favorite_count=16529, author=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), _json={'entities': {'urls': [], 'symbols': [], 'user_mentions': [{'name': 'Chris Koster', 'id_str': '444219274', 'screen_name': 'Koster4Missouri', 'id': 444219274, 'indices': [48, 64]}, {'name': 'Eric Greitens', 'id_str': '24004390', 'screen_name': 'EricGreitens', 'id': 24004390, 'indices': [131, 144]}], 'hashtags': []}, 'favorite_count': 16529, 'in_reply_to_screen_name': None, 'geo': None, 'in_reply_to_status_id': None, 'created_at': 'Mon Nov 07 22:21:53 +0000 2016', 'retweet_count': 6559, 'truncated': False, 'coordinates': None, 'source': 'Twitter for iPhone ', 'lang': 'en', 'in_reply_to_status_id_str': None, 'contributors': None, 'favorited': False, 'retweeted': False, 'id': 795753162623815680, 'is_quote_status': False, 'in_reply_to_user_id': None, 'place': None, 'user': {'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, 'text': \"Hey Missouri let's defeat Crooked Hillary & @koster4missouri! Koster supports Obamacare & amnesty! Vote outsider Navy SEAL @EricGreitens!\", 'in_reply_to_user_id_str': None, 'id_str': '795753162623815680'}, in_reply_to_screen_name=None, geo=None, in_reply_to_status_id=None, created_at=datetime.datetime(2016, 11, 7, 22, 21, 53), lang='en', truncated=False, is_quote_status=False, source='Twitter for iPhone', in_reply_to_status_id_str=None, coordinates=None, contributors=None, favorited=False, user=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), retweeted=False, id=795753162623815680, in_reply_to_user_id=None, place=None, id_str='795753162623815680', retweet_count=6559, text=\"Hey Missouri let's defeat Crooked Hillary & @koster4missouri! Koster supports Obamacare & amnesty! Vote outsider Navy SEAL @EricGreitens!\", in_reply_to_user_id_str=None), Status(source_url='http://twitter.com/download/iphone', _api=, entities={'urls': [{'url': 'https://t.co/ll8QIW9SqW', 'indices': [100, 123], 'expanded_url': 'http://www.lifezette.com/polizette/trump-is-the-safe-smart-choice-for-change/', 'display_url': 'lifezette.com/polizette/trum…'}], 'symbols': [], 'user_mentions': [], 'hashtags': []}, favorite_count=18276, possibly_sensitive=False, author=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), _json={'entities': {'urls': [{'url': 'https://t.co/ll8QIW9SqW', 'indices': [100, 123], 'expanded_url': 'http://www.lifezette.com/polizette/trump-is-the-safe-smart-choice-for-change/', 'display_url': 'lifezette.com/polizette/trum…'}], 'symbols': [], 'user_mentions': [], 'hashtags': []}, 'favorite_count': 18276, 'possibly_sensitive': False, 'in_reply_to_screen_name': None, 'geo': None, 'in_reply_to_status_id': None, 'created_at': 'Mon Nov 07 21:37:25 +0000 2016', 'retweet_count': 8600, 'truncated': False, 'coordinates': None, 'source': 'Twitter for iPhone ', 'lang': 'en', 'in_reply_to_status_id_str': None, 'contributors': None, 'favorited': False, 'retweeted': False, 'id': 795741975022604293, 'is_quote_status': False, 'in_reply_to_user_id': None, 'place': {'attributes': {}, 'url': 'https://api.twitter.com/1.1/geo/id/161d2f18e3a0445a.json', 'place_type': 'city', 'bounding_box': {'type': 'Polygon', 'coordinates': [[[-78.818343, 35.7158045], [-78.497331, 35.7158045], [-78.497331, 35.9721579], [-78.818343, 35.9721579]]]}, 'country': 'United States', 'full_name': 'Raleigh, NC', 'country_code': 'US', 'name': 'Raleigh', 'contained_within': [], 'id': '161d2f18e3a0445a'}, 'user': {'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, 'text': \"'America must decide between failed policies or fresh perspective, a corrupt system or an outsider'\\nhttps://t.co/ll8QIW9SqW\", 'in_reply_to_user_id_str': None, 'id_str': '795741975022604293'}, in_reply_to_screen_name=None, geo=None, in_reply_to_status_id=None, created_at=datetime.datetime(2016, 11, 7, 21, 37, 25), lang='en', truncated=False, is_quote_status=False, source='Twitter for iPhone', in_reply_to_status_id_str=None, coordinates=None, contributors=None, favorited=False, user=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), retweeted=False, id=795741975022604293, in_reply_to_user_id=None, place=Place(attributes={}, place_type='city', _api=, bounding_box=BoundingBox(_api=, type='Polygon', coordinates=[[[-78.818343, 35.7158045], [-78.497331, 35.7158045], [-78.497331, 35.9721579], [-78.818343, 35.9721579]]]), url='https://api.twitter.com/1.1/geo/id/161d2f18e3a0445a.json', country='United States', country_code='US', name='Raleigh', contained_within=[], id='161d2f18e3a0445a', full_name='Raleigh, NC'), id_str='795741975022604293', retweet_count=8600, text=\"'America must decide between failed policies or fresh perspective, a corrupt system or an outsider'\\nhttps://t.co/ll8QIW9SqW\", in_reply_to_user_id_str=None), Status(source_url='http://twitter.com/download/iphone', _api=, entities={'urls': [{'url': 'https://t.co/6rVuDUehZq', 'indices': [63, 86], 'expanded_url': 'http://m.townhall.com/columnists/arthurschaper/2016/11/07/what-i-like-about-trump--and-why-you-need-to-vote-for-him-n2242246', 'display_url': 'm.townhall.com/columnists/art…'}], 'symbols': [], 'user_mentions': [], 'hashtags': []}, favorite_count=13137, possibly_sensitive=False, author=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), _json={'entities': {'urls': [{'url': 'https://t.co/6rVuDUehZq', 'indices': [63, 86], 'expanded_url': 'http://m.townhall.com/columnists/arthurschaper/2016/11/07/what-i-like-about-trump--and-why-you-need-to-vote-for-him-n2242246', 'display_url': 'm.townhall.com/columnists/art…'}], 'symbols': [], 'user_mentions': [], 'hashtags': []}, 'favorite_count': 13137, 'possibly_sensitive': False, 'in_reply_to_screen_name': None, 'geo': None, 'in_reply_to_status_id': None, 'created_at': 'Mon Nov 07 21:35:14 +0000 2016', 'retweet_count': 5892, 'truncated': False, 'coordinates': None, 'source': 'Twitter for iPhone ', 'lang': 'en', 'in_reply_to_status_id_str': None, 'contributors': None, 'favorited': False, 'retweeted': False, 'id': 795741423756840960, 'is_quote_status': False, 'in_reply_to_user_id': None, 'place': {'attributes': {}, 'url': 'https://api.twitter.com/1.1/geo/id/161d2f18e3a0445a.json', 'place_type': 'city', 'bounding_box': {'type': 'Polygon', 'coordinates': [[[-78.818343, 35.7158045], [-78.497331, 35.7158045], [-78.497331, 35.9721579], [-78.818343, 35.9721579]]]}, 'country': 'United States', 'full_name': 'Raleigh, NC', 'country_code': 'US', 'name': 'Raleigh', 'contained_within': [], 'id': '161d2f18e3a0445a'}, 'user': {'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, 'text': \"'What I Like About Trump ... and Why You Need to Vote for Him'\\nhttps://t.co/6rVuDUehZq\", 'in_reply_to_user_id_str': None, 'id_str': '795741423756840960'}, in_reply_to_screen_name=None, geo=None, in_reply_to_status_id=None, created_at=datetime.datetime(2016, 11, 7, 21, 35, 14), lang='en', truncated=False, is_quote_status=False, source='Twitter for iPhone', in_reply_to_status_id_str=None, coordinates=None, contributors=None, favorited=False, user=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), retweeted=False, id=795741423756840960, in_reply_to_user_id=None, place=Place(attributes={}, place_type='city', _api=, bounding_box=BoundingBox(_api=, type='Polygon', coordinates=[[[-78.818343, 35.7158045], [-78.497331, 35.7158045], [-78.497331, 35.9721579], [-78.818343, 35.9721579]]]), url='https://api.twitter.com/1.1/geo/id/161d2f18e3a0445a.json', country='United States', country_code='US', name='Raleigh', contained_within=[], id='161d2f18e3a0445a', full_name='Raleigh, NC'), id_str='795741423756840960', retweet_count=5892, text=\"'What I Like About Trump ... and Why You Need to Vote for Him'\\nhttps://t.co/6rVuDUehZq\", in_reply_to_user_id_str=None), Status(source_url='http://twitter.com/download/iphone', _api=, entities={'urls': [{'url': 'https://t.co/RpwIYB7aOV', 'indices': [12, 35], 'expanded_url': 'http://www.realclearpolitics.com/articles/2016/11/07/why_trump_132272.html', 'display_url': 'realclearpolitics.com/articles/2016/…'}], 'symbols': [], 'user_mentions': [], 'hashtags': []}, favorite_count=10366, possibly_sensitive=False, author=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), _json={'entities': {'urls': [{'url': 'https://t.co/RpwIYB7aOV', 'indices': [12, 35], 'expanded_url': 'http://www.realclearpolitics.com/articles/2016/11/07/why_trump_132272.html', 'display_url': 'realclearpolitics.com/articles/2016/…'}], 'symbols': [], 'user_mentions': [], 'hashtags': []}, 'favorite_count': 10366, 'possibly_sensitive': False, 'in_reply_to_screen_name': None, 'geo': None, 'in_reply_to_status_id': None, 'created_at': 'Mon Nov 07 21:32:26 +0000 2016', 'retweet_count': 4722, 'truncated': False, 'coordinates': None, 'source': 'Twitter for iPhone ', 'lang': 'en', 'in_reply_to_status_id_str': None, 'contributors': None, 'favorited': False, 'retweeted': False, 'id': 795740720388866048, 'is_quote_status': False, 'in_reply_to_user_id': None, 'place': {'attributes': {}, 'url': 'https://api.twitter.com/1.1/geo/id/161d2f18e3a0445a.json', 'place_type': 'city', 'bounding_box': {'type': 'Polygon', 'coordinates': [[[-78.818343, 35.7158045], [-78.497331, 35.7158045], [-78.497331, 35.9721579], [-78.818343, 35.9721579]]]}, 'country': 'United States', 'full_name': 'Raleigh, NC', 'country_code': 'US', 'name': 'Raleigh', 'contained_within': [], 'id': '161d2f18e3a0445a'}, 'user': {'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, 'text': \"'Why Trump' https://t.co/RpwIYB7aOV\", 'in_reply_to_user_id_str': None, 'id_str': '795740720388866048'}, in_reply_to_screen_name=None, geo=None, in_reply_to_status_id=None, created_at=datetime.datetime(2016, 11, 7, 21, 32, 26), lang='en', truncated=False, is_quote_status=False, source='Twitter for iPhone', in_reply_to_status_id_str=None, coordinates=None, contributors=None, favorited=False, user=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), retweeted=False, id=795740720388866048, in_reply_to_user_id=None, place=Place(attributes={}, place_type='city', _api=, bounding_box=BoundingBox(_api=, type='Polygon', coordinates=[[[-78.818343, 35.7158045], [-78.497331, 35.7158045], [-78.497331, 35.9721579], [-78.818343, 35.9721579]]]), url='https://api.twitter.com/1.1/geo/id/161d2f18e3a0445a.json', country='United States', country_code='US', name='Raleigh', contained_within=[], id='161d2f18e3a0445a', full_name='Raleigh, NC'), id_str='795740720388866048', retweet_count=4722, text=\"'Why Trump' https://t.co/RpwIYB7aOV\", in_reply_to_user_id_str=None), Status(source_url='http://twitter.com/download/iphone', _api=, entities={'urls': [{'url': 'https://t.co/HfihPERFgZ', 'indices': [75, 98], 'expanded_url': 'http://VOTE.GOP', 'display_url': 'VOTE.GOP'}, {'url': 'https://t.co/jZzfqUZNYh', 'indices': [117, 140], 'expanded_url': 'https://twitter.com/i/web/status/795733366842806272', 'display_url': 'twitter.com/i/web/status/7…'}], 'symbols': [], 'user_mentions': [], 'hashtags': []}, favorite_count=17680, possibly_sensitive=False, author=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), _json={'entities': {'urls': [{'url': 'https://t.co/HfihPERFgZ', 'indices': [75, 98], 'expanded_url': 'http://VOTE.GOP', 'display_url': 'VOTE.GOP'}, {'url': 'https://t.co/jZzfqUZNYh', 'indices': [117, 140], 'expanded_url': 'https://twitter.com/i/web/status/795733366842806272', 'display_url': 'twitter.com/i/web/status/7…'}], 'symbols': [], 'user_mentions': [], 'hashtags': []}, 'favorite_count': 17680, 'possibly_sensitive': False, 'in_reply_to_screen_name': None, 'geo': None, 'in_reply_to_status_id': None, 'created_at': 'Mon Nov 07 21:03:13 +0000 2016', 'retweet_count': 6749, 'truncated': True, 'coordinates': None, 'source': 'Twitter for iPhone ', 'lang': 'en', 'in_reply_to_status_id_str': None, 'contributors': None, 'favorited': False, 'retweeted': False, 'id': 795733366842806272, 'is_quote_status': False, 'in_reply_to_user_id': None, 'place': {'attributes': {}, 'url': 'https://api.twitter.com/1.1/geo/id/3b98b02fba3f9753.json', 'place_type': 'admin', 'bounding_box': {'type': 'Polygon', 'coordinates': [[[-84.3219475, 33.752879], [-75.40012, 33.752879], [-75.40012, 36.588118], [-84.3219475, 36.588118]]]}, 'country': 'United States', 'full_name': 'North Carolina, USA', 'country_code': 'US', 'name': 'North Carolina', 'contained_within': [], 'id': '3b98b02fba3f9753'}, 'user': {'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, 'text': 'I love you North Carolina- thank you for your amazing support! Get out and https://t.co/HfihPERFgZ tomorrow!\\nWatch:… https://t.co/jZzfqUZNYh', 'in_reply_to_user_id_str': None, 'id_str': '795733366842806272'}, in_reply_to_screen_name=None, geo=None, in_reply_to_status_id=None, created_at=datetime.datetime(2016, 11, 7, 21, 3, 13), lang='en', truncated=True, is_quote_status=False, source='Twitter for iPhone', in_reply_to_status_id_str=None, coordinates=None, contributors=None, favorited=False, user=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), retweeted=False, id=795733366842806272, in_reply_to_user_id=None, place=Place(attributes={}, place_type='admin', _api=, bounding_box=BoundingBox(_api=, type='Polygon', coordinates=[[[-84.3219475, 33.752879], [-75.40012, 33.752879], [-75.40012, 36.588118], [-84.3219475, 36.588118]]]), url='https://api.twitter.com/1.1/geo/id/3b98b02fba3f9753.json', country='United States', country_code='US', name='North Carolina', contained_within=[], id='3b98b02fba3f9753', full_name='North Carolina, USA'), id_str='795733366842806272', retweet_count=6749, text='I love you North Carolina- thank you for your amazing support! Get out and https://t.co/HfihPERFgZ tomorrow!\\nWatch:… https://t.co/jZzfqUZNYh', in_reply_to_user_id_str=None), Status(quoted_status_id=795705755005571072, source_url='http://twitter.com/download/iphone', _api=, entities={'urls': [{'url': 'https://t.co/6L2ILD6r8h', 'indices': [11, 34], 'expanded_url': 'https://twitter.com/teamtrump/status/795705755005571072', 'display_url': 'twitter.com/teamtrump/stat…'}], 'symbols': [], 'user_mentions': [], 'hashtags': []}, favorite_count=19024, possibly_sensitive=False, author=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), _json={'quoted_status_id': 795705755005571072, 'entities': {'urls': [{'url': 'https://t.co/6L2ILD6r8h', 'indices': [11, 34], 'expanded_url': 'https://twitter.com/teamtrump/status/795705755005571072', 'display_url': 'twitter.com/teamtrump/stat…'}], 'symbols': [], 'user_mentions': [], 'hashtags': []}, 'favorite_count': 19024, 'possibly_sensitive': False, 'in_reply_to_screen_name': None, 'geo': None, 'in_reply_to_status_id': None, 'created_at': 'Mon Nov 07 19:31:54 +0000 2016', 'truncated': False, 'coordinates': None, 'is_quote_status': True, 'quoted_status_id_str': '795705755005571072', 'source': 'Twitter for iPhone ', 'lang': 'en', 'in_reply_to_status_id_str': None, 'contributors': None, 'favorited': False, 'retweeted': False, 'id': 795710386855088129, 'in_reply_to_user_id': None, 'place': {'attributes': {}, 'url': 'https://api.twitter.com/1.1/geo/id/161d2f18e3a0445a.json', 'place_type': 'city', 'bounding_box': {'type': 'Polygon', 'coordinates': [[[-78.818343, 35.7158045], [-78.497331, 35.7158045], [-78.497331, 35.9721579], [-78.818343, 35.9721579]]]}, 'country': 'United States', 'full_name': 'Raleigh, NC', 'country_code': 'US', 'name': 'Raleigh', 'contained_within': [], 'id': '161d2f18e3a0445a'}, 'quoted_status': {'entities': {'media': [{'type': 'photo', 'media_url': 'http://pbs.twimg.com/media/CwrpocSXEAArbWb.jpg', 'id_str': '795705165181554688', 'sizes': {'large': {'h': 1363, 'w': 2048, 'resize': 'fit'}, 'medium': {'h': 799, 'w': 1200, 'resize': 'fit'}, 'small': {'h': 453, 'w': 680, 'resize': 'fit'}, 'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}}, 'url': 'https://t.co/Mg7HBt1KEe', 'expanded_url': 'https://twitter.com/TeamTrump/status/795705755005571072/photo/1', 'indices': [89, 112], 'media_url_https': 'https://pbs.twimg.com/media/CwrpocSXEAArbWb.jpg', 'display_url': 'pic.twitter.com/Mg7HBt1KEe', 'id': 795705165181554688}], 'urls': [], 'symbols': [], 'user_mentions': [{'name': 'Donald J. Trump', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'id': 25073877, 'indices': [71, 87]}], 'hashtags': [{'text': 'MakeAmericaGreatAgain', 'indices': [43, 65]}]}, 'favorite_count': 3756, 'possibly_sensitive': False, 'retweeted': False, 'in_reply_to_screen_name': None, 'geo': None, 'in_reply_to_status_id': None, 'created_at': 'Mon Nov 07 19:13:30 +0000 2016', 'retweet_count': 1944, 'truncated': False, 'coordinates': None, 'source': 'Twitter Web Client ', 'lang': 'en', 'in_reply_to_status_id_str': None, 'contributors': None, 'favorited': False, 'extended_entities': {'media': [{'type': 'photo', 'media_url': 'http://pbs.twimg.com/media/CwrpocSXEAArbWb.jpg', 'id_str': '795705165181554688', 'sizes': {'large': {'h': 1363, 'w': 2048, 'resize': 'fit'}, 'medium': {'h': 799, 'w': 1200, 'resize': 'fit'}, 'small': {'h': 453, 'w': 680, 'resize': 'fit'}, 'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}}, 'url': 'https://t.co/Mg7HBt1KEe', 'expanded_url': 'https://twitter.com/TeamTrump/status/795705755005571072/photo/1', 'indices': [89, 112], 'media_url_https': 'https://pbs.twimg.com/media/CwrpocSXEAArbWb.jpg', 'display_url': 'pic.twitter.com/Mg7HBt1KEe', 'id': 795705165181554688}, {'type': 'photo', 'media_url': 'http://pbs.twimg.com/media/CwrptVTXUAEeGQB.jpg', 'id_str': '795705249206063105', 'sizes': {'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}, 'medium': {'h': 643, 'w': 1200, 'resize': 'fit'}, 'small': {'h': 364, 'w': 680, 'resize': 'fit'}, 'large': {'h': 1097, 'w': 2048, 'resize': 'fit'}}, 'url': 'https://t.co/Mg7HBt1KEe', 'expanded_url': 'https://twitter.com/TeamTrump/status/795705755005571072/photo/1', 'indices': [89, 112], 'media_url_https': 'https://pbs.twimg.com/media/CwrptVTXUAEeGQB.jpg', 'display_url': 'pic.twitter.com/Mg7HBt1KEe', 'id': 795705249206063105}, {'type': 'photo', 'media_url': 'http://pbs.twimg.com/media/Cwrp3S8WIAAe-pS.jpg', 'id_str': '795705420371337216', 'sizes': {'large': {'h': 441, 'w': 800, 'resize': 'fit'}, 'medium': {'h': 441, 'w': 800, 'resize': 'fit'}, 'small': {'h': 375, 'w': 680, 'resize': 'fit'}, 'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}}, 'url': 'https://t.co/Mg7HBt1KEe', 'expanded_url': 'https://twitter.com/TeamTrump/status/795705755005571072/photo/1', 'indices': [89, 112], 'media_url_https': 'https://pbs.twimg.com/media/Cwrp3S8WIAAe-pS.jpg', 'display_url': 'pic.twitter.com/Mg7HBt1KEe', 'id': 795705420371337216}]}, 'id': 795705755005571072, 'is_quote_status': False, 'in_reply_to_user_id': None, 'place': None, 'user': {'time_zone': 'Pacific Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': 'Welcome To The Official #TeamTrump Account. Together, We WILL #MakeAmericaGreatAgain! #ImWithYou #AmericaFirst #TrumpPence16', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/745768799849308160/KrZhjkpH_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/729676086632656900/1472756065', 'translator_type': 'none', 'friends_count': 22, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '729676086632656900', 'screen_name': 'TeamTrump', 'profile_sidebar_fill_color': 'DDEEF6', 'follow_request_sent': False, 'created_at': 'Mon May 09 14:15:10 +0000 2016', 'profile_link_color': '1DA1F2', 'followers_count': 223737, 'profile_sidebar_border_color': 'C0DEED', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': None, 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': 'http://www.DonaldJTrump.com', 'display_url': 'DonaldJTrump.com'}]}, 'description': {'urls': []}}, 'statuses_count': 8833, 'name': 'Official Team Trump', 'profile_background_color': 'F5F8FA', 'utc_offset': -28800, 'id': 729676086632656900, 'default_profile': True, 'verified': True, 'contributors_enabled': False, 'location': 'USA', 'default_profile_image': False, 'favourites_count': 1476, 'profile_background_tile': False, 'protected': False, 'is_translator': False, 'is_translation_enabled': False, 'profile_background_image_url_https': None, 'profile_image_url': 'http://pbs.twimg.com/profile_images/745768799849308160/KrZhjkpH_normal.jpg', 'listed_count': 857}, 'text': 'WOW -- Raleigh, North Carolina is ready to #MakeAmericaGreatAgain with @realDonaldTrump! https://t.co/Mg7HBt1KEe', 'in_reply_to_user_id_str': None, 'id_str': '795705755005571072'}, 'user': {'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, 'retweet_count': 6645, 'text': 'On my way! https://t.co/6L2ILD6r8h', 'in_reply_to_user_id_str': None, 'id_str': '795710386855088129'}, in_reply_to_screen_name=None, geo=None, in_reply_to_status_id=None, created_at=datetime.datetime(2016, 11, 7, 19, 31, 54), lang='en', truncated=False, is_quote_status=True, quoted_status_id_str='795705755005571072', source='Twitter for iPhone', in_reply_to_status_id_str=None, coordinates=None, contributors=None, favorited=False, user=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), retweeted=False, id=795710386855088129, in_reply_to_user_id=None, place=Place(attributes={}, place_type='city', _api=, bounding_box=BoundingBox(_api=, type='Polygon', coordinates=[[[-78.818343, 35.7158045], [-78.497331, 35.7158045], [-78.497331, 35.9721579], [-78.818343, 35.9721579]]]), url='https://api.twitter.com/1.1/geo/id/161d2f18e3a0445a.json', country='United States', country_code='US', name='Raleigh', contained_within=[], id='161d2f18e3a0445a', full_name='Raleigh, NC'), quoted_status={'entities': {'media': [{'type': 'photo', 'media_url': 'http://pbs.twimg.com/media/CwrpocSXEAArbWb.jpg', 'id_str': '795705165181554688', 'sizes': {'large': {'h': 1363, 'w': 2048, 'resize': 'fit'}, 'medium': {'h': 799, 'w': 1200, 'resize': 'fit'}, 'small': {'h': 453, 'w': 680, 'resize': 'fit'}, 'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}}, 'url': 'https://t.co/Mg7HBt1KEe', 'expanded_url': 'https://twitter.com/TeamTrump/status/795705755005571072/photo/1', 'indices': [89, 112], 'media_url_https': 'https://pbs.twimg.com/media/CwrpocSXEAArbWb.jpg', 'display_url': 'pic.twitter.com/Mg7HBt1KEe', 'id': 795705165181554688}], 'urls': [], 'symbols': [], 'user_mentions': [{'name': 'Donald J. Trump', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'id': 25073877, 'indices': [71, 87]}], 'hashtags': [{'text': 'MakeAmericaGreatAgain', 'indices': [43, 65]}]}, 'favorite_count': 3756, 'possibly_sensitive': False, 'retweeted': False, 'in_reply_to_screen_name': None, 'geo': None, 'in_reply_to_status_id': None, 'created_at': 'Mon Nov 07 19:13:30 +0000 2016', 'retweet_count': 1944, 'truncated': False, 'coordinates': None, 'source': 'Twitter Web Client ', 'lang': 'en', 'in_reply_to_status_id_str': None, 'contributors': None, 'favorited': False, 'extended_entities': {'media': [{'type': 'photo', 'media_url': 'http://pbs.twimg.com/media/CwrpocSXEAArbWb.jpg', 'id_str': '795705165181554688', 'sizes': {'large': {'h': 1363, 'w': 2048, 'resize': 'fit'}, 'medium': {'h': 799, 'w': 1200, 'resize': 'fit'}, 'small': {'h': 453, 'w': 680, 'resize': 'fit'}, 'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}}, 'url': 'https://t.co/Mg7HBt1KEe', 'expanded_url': 'https://twitter.com/TeamTrump/status/795705755005571072/photo/1', 'indices': [89, 112], 'media_url_https': 'https://pbs.twimg.com/media/CwrpocSXEAArbWb.jpg', 'display_url': 'pic.twitter.com/Mg7HBt1KEe', 'id': 795705165181554688}, {'type': 'photo', 'media_url': 'http://pbs.twimg.com/media/CwrptVTXUAEeGQB.jpg', 'id_str': '795705249206063105', 'sizes': {'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}, 'medium': {'h': 643, 'w': 1200, 'resize': 'fit'}, 'small': {'h': 364, 'w': 680, 'resize': 'fit'}, 'large': {'h': 1097, 'w': 2048, 'resize': 'fit'}}, 'url': 'https://t.co/Mg7HBt1KEe', 'expanded_url': 'https://twitter.com/TeamTrump/status/795705755005571072/photo/1', 'indices': [89, 112], 'media_url_https': 'https://pbs.twimg.com/media/CwrptVTXUAEeGQB.jpg', 'display_url': 'pic.twitter.com/Mg7HBt1KEe', 'id': 795705249206063105}, {'type': 'photo', 'media_url': 'http://pbs.twimg.com/media/Cwrp3S8WIAAe-pS.jpg', 'id_str': '795705420371337216', 'sizes': {'large': {'h': 441, 'w': 800, 'resize': 'fit'}, 'medium': {'h': 441, 'w': 800, 'resize': 'fit'}, 'small': {'h': 375, 'w': 680, 'resize': 'fit'}, 'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}}, 'url': 'https://t.co/Mg7HBt1KEe', 'expanded_url': 'https://twitter.com/TeamTrump/status/795705755005571072/photo/1', 'indices': [89, 112], 'media_url_https': 'https://pbs.twimg.com/media/Cwrp3S8WIAAe-pS.jpg', 'display_url': 'pic.twitter.com/Mg7HBt1KEe', 'id': 795705420371337216}]}, 'id': 795705755005571072, 'is_quote_status': False, 'in_reply_to_user_id': None, 'place': None, 'user': {'time_zone': 'Pacific Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': 'Welcome To The Official #TeamTrump Account. Together, We WILL #MakeAmericaGreatAgain! #ImWithYou #AmericaFirst #TrumpPence16', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/745768799849308160/KrZhjkpH_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/729676086632656900/1472756065', 'translator_type': 'none', 'friends_count': 22, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '729676086632656900', 'screen_name': 'TeamTrump', 'profile_sidebar_fill_color': 'DDEEF6', 'follow_request_sent': False, 'created_at': 'Mon May 09 14:15:10 +0000 2016', 'profile_link_color': '1DA1F2', 'followers_count': 223737, 'profile_sidebar_border_color': 'C0DEED', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': None, 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': 'http://www.DonaldJTrump.com', 'display_url': 'DonaldJTrump.com'}]}, 'description': {'urls': []}}, 'statuses_count': 8833, 'name': 'Official Team Trump', 'profile_background_color': 'F5F8FA', 'utc_offset': -28800, 'id': 729676086632656900, 'default_profile': True, 'verified': True, 'contributors_enabled': False, 'location': 'USA', 'default_profile_image': False, 'favourites_count': 1476, 'profile_background_tile': False, 'protected': False, 'is_translator': False, 'is_translation_enabled': False, 'profile_background_image_url_https': None, 'profile_image_url': 'http://pbs.twimg.com/profile_images/745768799849308160/KrZhjkpH_normal.jpg', 'listed_count': 857}, 'text': 'WOW -- Raleigh, North Carolina is ready to #MakeAmericaGreatAgain with @realDonaldTrump! https://t.co/Mg7HBt1KEe', 'in_reply_to_user_id_str': None, 'id_str': '795705755005571072'}, id_str='795710386855088129', retweet_count=6645, text='On my way! https://t.co/6L2ILD6r8h', in_reply_to_user_id_str=None), Status(source_url='http://twitter.com/download/iphone', _api=, entities={'media': [{'type': 'photo', 'media_url': 'http://pbs.twimg.com/media/Cwrt9bmXcAAQTnU.jpg', 'id_str': '795709923820793856', 'sizes': {'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}, 'medium': {'h': 205, 'w': 383, 'resize': 'fit'}, 'small': {'h': 205, 'w': 383, 'resize': 'fit'}, 'large': {'h': 205, 'w': 383, 'resize': 'fit'}}, 'url': 'https://t.co/EUo0keWX1Y', 'expanded_url': 'https://twitter.com/realDonaldTrump/status/795709959245856768/photo/1', 'indices': [112, 135], 'media_url_https': 'https://pbs.twimg.com/media/Cwrt9bmXcAAQTnU.jpg', 'display_url': 'pic.twitter.com/EUo0keWX1Y', 'id': 795709923820793856}], 'urls': [], 'symbols': [], 'user_mentions': [], 'hashtags': [{'text': 'MakeAmericaGreatAgain', 'indices': [88, 110]}]}, favorite_count=26278, possibly_sensitive=False, author=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), _json={'entities': {'media': [{'type': 'photo', 'media_url': 'http://pbs.twimg.com/media/Cwrt9bmXcAAQTnU.jpg', 'id_str': '795709923820793856', 'sizes': {'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}, 'medium': {'h': 205, 'w': 383, 'resize': 'fit'}, 'small': {'h': 205, 'w': 383, 'resize': 'fit'}, 'large': {'h': 205, 'w': 383, 'resize': 'fit'}}, 'url': 'https://t.co/EUo0keWX1Y', 'expanded_url': 'https://twitter.com/realDonaldTrump/status/795709959245856768/photo/1', 'indices': [112, 135], 'media_url_https': 'https://pbs.twimg.com/media/Cwrt9bmXcAAQTnU.jpg', 'display_url': 'pic.twitter.com/EUo0keWX1Y', 'id': 795709923820793856}], 'urls': [], 'symbols': [], 'user_mentions': [], 'hashtags': [{'text': 'MakeAmericaGreatAgain', 'indices': [88, 110]}]}, 'favorite_count': 26278, 'possibly_sensitive': False, 'retweeted': False, 'in_reply_to_screen_name': None, 'geo': None, 'in_reply_to_status_id': None, 'created_at': 'Mon Nov 07 19:30:12 +0000 2016', 'retweet_count': 10211, 'truncated': False, 'coordinates': None, 'source': 'Twitter for iPhone ', 'lang': 'en', 'in_reply_to_status_id_str': None, 'contributors': None, 'favorited': False, 'extended_entities': {'media': [{'type': 'photo', 'media_url': 'http://pbs.twimg.com/media/Cwrt9bmXcAAQTnU.jpg', 'id_str': '795709923820793856', 'sizes': {'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}, 'medium': {'h': 205, 'w': 383, 'resize': 'fit'}, 'small': {'h': 205, 'w': 383, 'resize': 'fit'}, 'large': {'h': 205, 'w': 383, 'resize': 'fit'}}, 'url': 'https://t.co/EUo0keWX1Y', 'expanded_url': 'https://twitter.com/realDonaldTrump/status/795709959245856768/photo/1', 'indices': [112, 135], 'media_url_https': 'https://pbs.twimg.com/media/Cwrt9bmXcAAQTnU.jpg', 'display_url': 'pic.twitter.com/EUo0keWX1Y', 'id': 795709923820793856}]}, 'id': 795709959245856768, 'is_quote_status': False, 'in_reply_to_user_id': None, 'place': {'attributes': {}, 'url': 'https://api.twitter.com/1.1/geo/id/3b98b02fba3f9753.json', 'place_type': 'admin', 'bounding_box': {'type': 'Polygon', 'coordinates': [[[-84.3219475, 33.752879], [-75.40012, 33.752879], [-75.40012, 36.588118], [-84.3219475, 36.588118]]]}, 'country': 'United States', 'full_name': 'North Carolina, USA', 'country_code': 'US', 'name': 'North Carolina', 'contained_within': [], 'id': '3b98b02fba3f9753'}, 'user': {'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, 'text': 'Just landed in North Carolina- heading to the J.S. Dorton Arena. See you all soon! Lets #MakeAmericaGreatAgain! https://t.co/EUo0keWX1Y', 'in_reply_to_user_id_str': None, 'id_str': '795709959245856768'}, in_reply_to_screen_name=None, geo=None, in_reply_to_status_id=None, created_at=datetime.datetime(2016, 11, 7, 19, 30, 12), lang='en', truncated=False, is_quote_status=False, source='Twitter for iPhone', in_reply_to_status_id_str=None, extended_entities={'media': [{'type': 'photo', 'media_url': 'http://pbs.twimg.com/media/Cwrt9bmXcAAQTnU.jpg', 'id_str': '795709923820793856', 'sizes': {'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}, 'medium': {'h': 205, 'w': 383, 'resize': 'fit'}, 'small': {'h': 205, 'w': 383, 'resize': 'fit'}, 'large': {'h': 205, 'w': 383, 'resize': 'fit'}}, 'url': 'https://t.co/EUo0keWX1Y', 'expanded_url': 'https://twitter.com/realDonaldTrump/status/795709959245856768/photo/1', 'indices': [112, 135], 'media_url_https': 'https://pbs.twimg.com/media/Cwrt9bmXcAAQTnU.jpg', 'display_url': 'pic.twitter.com/EUo0keWX1Y', 'id': 795709923820793856}]}, coordinates=None, contributors=None, favorited=False, user=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), retweeted=False, id=795709959245856768, in_reply_to_user_id=None, place=Place(attributes={}, place_type='admin', _api=, bounding_box=BoundingBox(_api=, type='Polygon', coordinates=[[[-84.3219475, 33.752879], [-75.40012, 33.752879], [-75.40012, 36.588118], [-84.3219475, 36.588118]]]), url='https://api.twitter.com/1.1/geo/id/3b98b02fba3f9753.json', country='United States', country_code='US', name='North Carolina', contained_within=[], id='3b98b02fba3f9753', full_name='North Carolina, USA'), id_str='795709959245856768', retweet_count=10211, text='Just landed in North Carolina- heading to the J.S. Dorton Arena. See you all soon! Lets #MakeAmericaGreatAgain! https://t.co/EUo0keWX1Y', in_reply_to_user_id_str=None), Status(source_url='http://twitter.com/download/iphone', _api=, entities={'urls': [{'url': 'https://t.co/ig62Kjkkvl', 'indices': [112, 135], 'expanded_url': 'https://twitter.com/i/web/status/795674761309417472', 'display_url': 'twitter.com/i/web/status/7…'}], 'symbols': [], 'user_mentions': [], 'hashtags': [{'text': 'AmericaFirst', 'indices': [35, 48]}]}, favorite_count=27599, possibly_sensitive=False, author=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), _json={'entities': {'urls': [{'url': 'https://t.co/ig62Kjkkvl', 'indices': [112, 135], 'expanded_url': 'https://twitter.com/i/web/status/795674761309417472', 'display_url': 'twitter.com/i/web/status/7…'}], 'symbols': [], 'user_mentions': [], 'hashtags': [{'text': 'AmericaFirst', 'indices': [35, 48]}]}, 'favorite_count': 27599, 'possibly_sensitive': False, 'in_reply_to_screen_name': None, 'geo': None, 'in_reply_to_status_id': None, 'created_at': 'Mon Nov 07 17:10:20 +0000 2016', 'retweet_count': 11311, 'truncated': True, 'coordinates': None, 'source': 'Twitter for iPhone ', 'lang': 'en', 'in_reply_to_status_id_str': None, 'contributors': None, 'favorited': False, 'retweeted': False, 'id': 795674761309417472, 'is_quote_status': False, 'in_reply_to_user_id': None, 'place': {'attributes': {}, 'url': 'https://api.twitter.com/1.1/geo/id/07d9f5bd5bc88001.json', 'place_type': 'poi', 'bounding_box': {'type': 'Polygon', 'coordinates': [[[-82.55354404449463, 27.38811555292282], [-82.55354404449463, 27.38811555292282], [-82.55354404449463, 27.38811555292282], [-82.55354404449463, 27.38811555292282]]]}, 'country': 'United States', 'full_name': 'Sarasota-Bradenton International Airport (SRQ)', 'country_code': 'US', 'name': 'Sarasota-Bradenton International Airport (SRQ)', 'contained_within': [], 'id': '07d9f5bd5bc88001'}, 'user': {'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, 'text': \"Starting tomorrow it's going to be #AmericaFirst! Thank you for a great morning Sarasota, Florida!\\nWatch here:… https://t.co/ig62Kjkkvl\", 'in_reply_to_user_id_str': None, 'id_str': '795674761309417472'}, in_reply_to_screen_name=None, geo=None, in_reply_to_status_id=None, created_at=datetime.datetime(2016, 11, 7, 17, 10, 20), lang='en', truncated=True, is_quote_status=False, source='Twitter for iPhone', in_reply_to_status_id_str=None, coordinates=None, contributors=None, favorited=False, user=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), retweeted=False, id=795674761309417472, in_reply_to_user_id=None, place=Place(attributes={}, place_type='poi', _api=, bounding_box=BoundingBox(_api=, type='Polygon', coordinates=[[[-82.55354404449463, 27.38811555292282], [-82.55354404449463, 27.38811555292282], [-82.55354404449463, 27.38811555292282], [-82.55354404449463, 27.38811555292282]]]), url='https://api.twitter.com/1.1/geo/id/07d9f5bd5bc88001.json', country='United States', country_code='US', name='Sarasota-Bradenton International Airport (SRQ)', contained_within=[], id='07d9f5bd5bc88001', full_name='Sarasota-Bradenton International Airport (SRQ)'), id_str='795674761309417472', retweet_count=11311, text=\"Starting tomorrow it's going to be #AmericaFirst! Thank you for a great morning Sarasota, Florida!\\nWatch here:… https://t.co/ig62Kjkkvl\", in_reply_to_user_id_str=None), Status(source_url='http://twitter.com/download/iphone', _api=, entities={'media': [{'type': 'photo', 'media_url': 'http://pbs.twimg.com/media/Cwo8sv9XgAA_-Hz.jpg', 'id_str': '795515023670083584', 'sizes': {'large': {'h': 1936, 'w': 1936, 'resize': 'fit'}, 'medium': {'h': 1200, 'w': 1200, 'resize': 'fit'}, 'small': {'h': 680, 'w': 680, 'resize': 'fit'}, 'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}}, 'url': 'https://t.co/WOsEcjM8sm', 'expanded_url': 'https://twitter.com/realDonaldTrump/status/795515037632921601/photo/1', 'indices': [112, 135], 'media_url_https': 'https://pbs.twimg.com/media/Cwo8sv9XgAA_-Hz.jpg', 'display_url': 'pic.twitter.com/WOsEcjM8sm', 'id': 795515023670083584}], 'urls': [{'url': 'https://t.co/Nid8qcFTwY', 'indices': [88, 111], 'expanded_url': 'https://www.facebook.com/DonaldTrump/videos/10158074771180725/', 'display_url': 'facebook.com/DonaldTrump/vi…'}], 'symbols': [], 'user_mentions': [], 'hashtags': [{'text': 'VoteTrumpPence16', 'indices': [61, 78]}, {'text': 'ICYMI', 'indices': [80, 86]}]}, favorite_count=29245, possibly_sensitive=False, author=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), _json={'entities': {'media': [{'type': 'photo', 'media_url': 'http://pbs.twimg.com/media/Cwo8sv9XgAA_-Hz.jpg', 'id_str': '795515023670083584', 'sizes': {'large': {'h': 1936, 'w': 1936, 'resize': 'fit'}, 'medium': {'h': 1200, 'w': 1200, 'resize': 'fit'}, 'small': {'h': 680, 'w': 680, 'resize': 'fit'}, 'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}}, 'url': 'https://t.co/WOsEcjM8sm', 'expanded_url': 'https://twitter.com/realDonaldTrump/status/795515037632921601/photo/1', 'indices': [112, 135], 'media_url_https': 'https://pbs.twimg.com/media/Cwo8sv9XgAA_-Hz.jpg', 'display_url': 'pic.twitter.com/WOsEcjM8sm', 'id': 795515023670083584}], 'urls': [{'url': 'https://t.co/Nid8qcFTwY', 'indices': [88, 111], 'expanded_url': 'https://www.facebook.com/DonaldTrump/videos/10158074771180725/', 'display_url': 'facebook.com/DonaldTrump/vi…'}], 'symbols': [], 'user_mentions': [], 'hashtags': [{'text': 'VoteTrumpPence16', 'indices': [61, 78]}, {'text': 'ICYMI', 'indices': [80, 86]}]}, 'favorite_count': 29245, 'possibly_sensitive': False, 'retweeted': False, 'in_reply_to_screen_name': None, 'geo': None, 'in_reply_to_status_id': None, 'created_at': 'Mon Nov 07 06:35:39 +0000 2016', 'retweet_count': 11379, 'truncated': False, 'coordinates': None, 'source': 'Twitter for iPhone ', 'lang': 'en', 'in_reply_to_status_id_str': None, 'contributors': None, 'favorited': False, 'extended_entities': {'media': [{'type': 'photo', 'media_url': 'http://pbs.twimg.com/media/Cwo8sv9XgAA_-Hz.jpg', 'id_str': '795515023670083584', 'sizes': {'large': {'h': 1936, 'w': 1936, 'resize': 'fit'}, 'medium': {'h': 1200, 'w': 1200, 'resize': 'fit'}, 'small': {'h': 680, 'w': 680, 'resize': 'fit'}, 'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}}, 'url': 'https://t.co/WOsEcjM8sm', 'expanded_url': 'https://twitter.com/realDonaldTrump/status/795515037632921601/photo/1', 'indices': [112, 135], 'media_url_https': 'https://pbs.twimg.com/media/Cwo8sv9XgAA_-Hz.jpg', 'display_url': 'pic.twitter.com/WOsEcjM8sm', 'id': 795515023670083584}]}, 'id': 795515037632921601, 'is_quote_status': False, 'in_reply_to_user_id': None, 'place': {'attributes': {}, 'url': 'https://api.twitter.com/1.1/geo/id/5635c19c2b5078d1.json', 'place_type': 'admin', 'bounding_box': {'type': 'Polygon', 'coordinates': [[[-83.67529, 36.540739], [-75.16644, 36.540739], [-75.16644, 39.466012], [-83.67529, 39.466012]]]}, 'country': 'United States', 'full_name': 'Virginia, USA', 'country_code': 'US', 'name': 'Virginia', 'contained_within': [], 'id': '5635c19c2b5078d1'}, 'user': {'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, 'text': 'Thank you for you support Virginia! In ONE DAY - get out and #VoteTrumpPence16! #ICYMI: https://t.co/Nid8qcFTwY https://t.co/WOsEcjM8sm', 'in_reply_to_user_id_str': None, 'id_str': '795515037632921601'}, in_reply_to_screen_name=None, geo=None, in_reply_to_status_id=None, created_at=datetime.datetime(2016, 11, 7, 6, 35, 39), lang='en', truncated=False, is_quote_status=False, source='Twitter for iPhone', in_reply_to_status_id_str=None, extended_entities={'media': [{'type': 'photo', 'media_url': 'http://pbs.twimg.com/media/Cwo8sv9XgAA_-Hz.jpg', 'id_str': '795515023670083584', 'sizes': {'large': {'h': 1936, 'w': 1936, 'resize': 'fit'}, 'medium': {'h': 1200, 'w': 1200, 'resize': 'fit'}, 'small': {'h': 680, 'w': 680, 'resize': 'fit'}, 'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}}, 'url': 'https://t.co/WOsEcjM8sm', 'expanded_url': 'https://twitter.com/realDonaldTrump/status/795515037632921601/photo/1', 'indices': [112, 135], 'media_url_https': 'https://pbs.twimg.com/media/Cwo8sv9XgAA_-Hz.jpg', 'display_url': 'pic.twitter.com/WOsEcjM8sm', 'id': 795515023670083584}]}, coordinates=None, contributors=None, favorited=False, user=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), retweeted=False, id=795515037632921601, in_reply_to_user_id=None, place=Place(attributes={}, place_type='admin', _api=, bounding_box=BoundingBox(_api=, type='Polygon', coordinates=[[[-83.67529, 36.540739], [-75.16644, 36.540739], [-75.16644, 39.466012], [-83.67529, 39.466012]]]), url='https://api.twitter.com/1.1/geo/id/5635c19c2b5078d1.json', country='United States', country_code='US', name='Virginia', contained_within=[], id='5635c19c2b5078d1', full_name='Virginia, USA'), id_str='795515037632921601', retweet_count=11379, text='Thank you for you support Virginia! In ONE DAY - get out and #VoteTrumpPence16! #ICYMI: https://t.co/Nid8qcFTwY https://t.co/WOsEcjM8sm', in_reply_to_user_id_str=None), Status(source_url='http://twitter.com/download/iphone', _api=, entities={'urls': [{'url': 'https://t.co/qbcJZAzw6z', 'indices': [110, 133], 'expanded_url': 'https://twitter.com/i/web/status/795479521520717825', 'display_url': 'twitter.com/i/web/status/7…'}], 'symbols': [], 'user_mentions': [], 'hashtags': [{'text': 'MAGA', 'indices': [103, 108]}]}, favorite_count=41883, possibly_sensitive=False, author=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), _json={'entities': {'urls': [{'url': 'https://t.co/qbcJZAzw6z', 'indices': [110, 133], 'expanded_url': 'https://twitter.com/i/web/status/795479521520717825', 'display_url': 'twitter.com/i/web/status/7…'}], 'symbols': [], 'user_mentions': [], 'hashtags': [{'text': 'MAGA', 'indices': [103, 108]}]}, 'favorite_count': 41883, 'possibly_sensitive': False, 'in_reply_to_screen_name': None, 'geo': None, 'in_reply_to_status_id': None, 'created_at': 'Mon Nov 07 04:14:31 +0000 2016', 'retweet_count': 16527, 'truncated': True, 'coordinates': None, 'source': 'Twitter for iPhone ', 'lang': 'en', 'in_reply_to_status_id_str': None, 'contributors': None, 'favorited': False, 'retweeted': False, 'id': 795479521520717825, 'is_quote_status': False, 'in_reply_to_user_id': None, 'place': None, 'user': {'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, 'text': 'Thank you Pennsylvania- I am forever grateful for your amazing support. Lets MAKE AMERICA GREAT AGAIN! #MAGA… https://t.co/qbcJZAzw6z', 'in_reply_to_user_id_str': None, 'id_str': '795479521520717825'}, in_reply_to_screen_name=None, geo=None, in_reply_to_status_id=None, created_at=datetime.datetime(2016, 11, 7, 4, 14, 31), lang='en', truncated=True, is_quote_status=False, source='Twitter for iPhone', in_reply_to_status_id_str=None, coordinates=None, contributors=None, favorited=False, user=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), retweeted=False, id=795479521520717825, in_reply_to_user_id=None, place=None, id_str='795479521520717825', retweet_count=16527, text='Thank you Pennsylvania- I am forever grateful for your amazing support. Lets MAKE AMERICA GREAT AGAIN! #MAGA… https://t.co/qbcJZAzw6z', in_reply_to_user_id_str=None), Status(source_url='http://twitter.com/download/iphone', _api=, entities={'urls': [{'url': 'https://t.co/cSdGkCFYRL', 'indices': [117, 140], 'expanded_url': 'https://twitter.com/i/web/status/795443728282505216', 'display_url': 'twitter.com/i/web/status/7…'}], 'symbols': [], 'user_mentions': [], 'hashtags': [{'text': 'DrainTheSwamp', 'indices': [94, 108]}]}, favorite_count=35253, possibly_sensitive=False, author=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), _json={'entities': {'urls': [{'url': 'https://t.co/cSdGkCFYRL', 'indices': [117, 140], 'expanded_url': 'https://twitter.com/i/web/status/795443728282505216', 'display_url': 'twitter.com/i/web/status/7…'}], 'symbols': [], 'user_mentions': [], 'hashtags': [{'text': 'DrainTheSwamp', 'indices': [94, 108]}]}, 'favorite_count': 35253, 'possibly_sensitive': False, 'in_reply_to_screen_name': None, 'geo': None, 'in_reply_to_status_id': None, 'created_at': 'Mon Nov 07 01:52:18 +0000 2016', 'retweet_count': 14625, 'truncated': True, 'coordinates': None, 'source': 'Twitter for iPhone ', 'lang': 'en', 'in_reply_to_status_id_str': None, 'contributors': None, 'favorited': False, 'retweeted': False, 'id': 795443728282505216, 'is_quote_status': False, 'in_reply_to_user_id': None, 'place': {'attributes': {}, 'url': 'https://api.twitter.com/1.1/geo/id/67d92742f1ebf307.json', 'place_type': 'admin', 'bounding_box': {'type': 'Polygon', 'coordinates': [[[-90.4181075, 41.696088], [-82.122971, 41.696088], [-82.122971, 48.306272], [-90.4181075, 48.306272]]]}, 'country': 'United States', 'full_name': 'Michigan, USA', 'country_code': 'US', 'name': 'Michigan', 'contained_within': [], 'id': '67d92742f1ebf307'}, 'user': {'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, 'text': \"Thank you Michigan! This is a MOVEMENT that will never be seen again- it's our last chance to #DrainTheSwamp! Watch… https://t.co/cSdGkCFYRL\", 'in_reply_to_user_id_str': None, 'id_str': '795443728282505216'}, in_reply_to_screen_name=None, geo=None, in_reply_to_status_id=None, created_at=datetime.datetime(2016, 11, 7, 1, 52, 18), lang='en', truncated=True, is_quote_status=False, source='Twitter for iPhone', in_reply_to_status_id_str=None, coordinates=None, contributors=None, favorited=False, user=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), retweeted=False, id=795443728282505216, in_reply_to_user_id=None, place=Place(attributes={}, place_type='admin', _api=, bounding_box=BoundingBox(_api=, type='Polygon', coordinates=[[[-90.4181075, 41.696088], [-82.122971, 41.696088], [-82.122971, 48.306272], [-90.4181075, 48.306272]]]), url='https://api.twitter.com/1.1/geo/id/67d92742f1ebf307.json', country='United States', country_code='US', name='Michigan', contained_within=[], id='67d92742f1ebf307', full_name='Michigan, USA'), id_str='795443728282505216', retweet_count=14625, text=\"Thank you Michigan! This is a MOVEMENT that will never be seen again- it's our last chance to #DrainTheSwamp! Watch… https://t.co/cSdGkCFYRL\", in_reply_to_user_id_str=None), Status(source_url='http://twitter.com/download/iphone', _api=, entities={'urls': [{'url': 'https://t.co/ek8Cn3CgTr', 'indices': [120, 143], 'expanded_url': 'https://twitter.com/i/web/status/795417907476000768', 'display_url': 'twitter.com/i/web/status/7…'}], 'symbols': [], 'user_mentions': [], 'hashtags': []}, favorite_count=33870, possibly_sensitive=False, author=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), _json={'entities': {'urls': [{'url': 'https://t.co/ek8Cn3CgTr', 'indices': [120, 143], 'expanded_url': 'https://twitter.com/i/web/status/795417907476000768', 'display_url': 'twitter.com/i/web/status/7…'}], 'symbols': [], 'user_mentions': [], 'hashtags': []}, 'favorite_count': 33870, 'possibly_sensitive': False, 'in_reply_to_screen_name': None, 'geo': None, 'in_reply_to_status_id': None, 'created_at': 'Mon Nov 07 00:09:41 +0000 2016', 'retweet_count': 14240, 'truncated': True, 'coordinates': None, 'source': 'Twitter for iPhone ', 'lang': 'en', 'in_reply_to_status_id_str': None, 'contributors': None, 'favorited': False, 'retweeted': False, 'id': 795417907476000768, 'is_quote_status': False, 'in_reply_to_user_id': None, 'place': {'attributes': {}, 'url': 'https://api.twitter.com/1.1/geo/id/67d92742f1ebf307.json', 'place_type': 'admin', 'bounding_box': {'type': 'Polygon', 'coordinates': [[[-90.4181075, 41.696088], [-82.122971, 41.696088], [-82.122971, 48.306272], [-90.4181075, 48.306272]]]}, 'country': 'United States', 'full_name': 'Michigan, USA', 'country_code': 'US', 'name': 'Michigan', 'contained_within': [], 'id': '67d92742f1ebf307'}, 'user': {'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, 'text': 'Our American comeback story begins 11/8/16. Together, we will MAKE AMERICA SAFE & GREAT again for everyone! Watch:… https://t.co/ek8Cn3CgTr', 'in_reply_to_user_id_str': None, 'id_str': '795417907476000768'}, in_reply_to_screen_name=None, geo=None, in_reply_to_status_id=None, created_at=datetime.datetime(2016, 11, 7, 0, 9, 41), lang='en', truncated=True, is_quote_status=False, source='Twitter for iPhone', in_reply_to_status_id_str=None, coordinates=None, contributors=None, favorited=False, user=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), retweeted=False, id=795417907476000768, in_reply_to_user_id=None, place=Place(attributes={}, place_type='admin', _api=, bounding_box=BoundingBox(_api=, type='Polygon', coordinates=[[[-90.4181075, 41.696088], [-82.122971, 41.696088], [-82.122971, 48.306272], [-90.4181075, 48.306272]]]), url='https://api.twitter.com/1.1/geo/id/67d92742f1ebf307.json', country='United States', country_code='US', name='Michigan', contained_within=[], id='67d92742f1ebf307', full_name='Michigan, USA'), id_str='795417907476000768', retweet_count=14240, text='Our American comeback story begins 11/8/16. Together, we will MAKE AMERICA SAFE & GREAT again for everyone! Watch:… https://t.co/ek8Cn3CgTr', in_reply_to_user_id_str=None), Status(source_url='http://twitter.com/download/iphone', _api=, entities={'media': [{'type': 'photo', 'media_url': 'http://pbs.twimg.com/media/CwneIvFXEAAN0Zp.jpg', 'id_str': '795411050866872320', 'sizes': {'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}, 'medium': {'h': 1200, 'w': 1200, 'resize': 'fit'}, 'small': {'h': 680, 'w': 680, 'resize': 'fit'}, 'large': {'h': 1936, 'w': 1936, 'resize': 'fit'}}, 'url': 'https://t.co/e8SaXiJrxj', 'expanded_url': 'https://twitter.com/realDonaldTrump/status/795411058357837825/photo/1', 'indices': [103, 126], 'media_url_https': 'https://pbs.twimg.com/media/CwneIvFXEAAN0Zp.jpg', 'display_url': 'pic.twitter.com/e8SaXiJrxj', 'id': 795411050866872320}], 'urls': [{'url': 'https://t.co/fVThC7yIL6', 'indices': [79, 102], 'expanded_url': 'https://www.facebook.com/DonaldTrump/videos/10158071461455725/', 'display_url': 'facebook.com/DonaldTrump/vi…'}], 'symbols': [], 'user_mentions': [], 'hashtags': [{'text': 'DrainTheSwamp', 'indices': [35, 49]}, {'text': 'MAGA', 'indices': [56, 61]}, {'text': 'ICYMI', 'indices': [64, 70]}]}, favorite_count=22712, possibly_sensitive=False, author=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), _json={'entities': {'media': [{'type': 'photo', 'media_url': 'http://pbs.twimg.com/media/CwneIvFXEAAN0Zp.jpg', 'id_str': '795411050866872320', 'sizes': {'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}, 'medium': {'h': 1200, 'w': 1200, 'resize': 'fit'}, 'small': {'h': 680, 'w': 680, 'resize': 'fit'}, 'large': {'h': 1936, 'w': 1936, 'resize': 'fit'}}, 'url': 'https://t.co/e8SaXiJrxj', 'expanded_url': 'https://twitter.com/realDonaldTrump/status/795411058357837825/photo/1', 'indices': [103, 126], 'media_url_https': 'https://pbs.twimg.com/media/CwneIvFXEAAN0Zp.jpg', 'display_url': 'pic.twitter.com/e8SaXiJrxj', 'id': 795411050866872320}], 'urls': [{'url': 'https://t.co/fVThC7yIL6', 'indices': [79, 102], 'expanded_url': 'https://www.facebook.com/DonaldTrump/videos/10158071461455725/', 'display_url': 'facebook.com/DonaldTrump/vi…'}], 'symbols': [], 'user_mentions': [], 'hashtags': [{'text': 'DrainTheSwamp', 'indices': [35, 49]}, {'text': 'MAGA', 'indices': [56, 61]}, {'text': 'ICYMI', 'indices': [64, 70]}]}, 'favorite_count': 22712, 'possibly_sensitive': False, 'retweeted': False, 'in_reply_to_screen_name': None, 'geo': None, 'in_reply_to_status_id': None, 'created_at': 'Sun Nov 06 23:42:28 +0000 2016', 'retweet_count': 8874, 'truncated': False, 'coordinates': None, 'source': 'Twitter for iPhone ', 'lang': 'en', 'in_reply_to_status_id_str': None, 'contributors': None, 'favorited': False, 'extended_entities': {'media': [{'type': 'photo', 'media_url': 'http://pbs.twimg.com/media/CwneIvFXEAAN0Zp.jpg', 'id_str': '795411050866872320', 'sizes': {'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}, 'medium': {'h': 1200, 'w': 1200, 'resize': 'fit'}, 'small': {'h': 680, 'w': 680, 'resize': 'fit'}, 'large': {'h': 1936, 'w': 1936, 'resize': 'fit'}}, 'url': 'https://t.co/e8SaXiJrxj', 'expanded_url': 'https://twitter.com/realDonaldTrump/status/795411058357837825/photo/1', 'indices': [103, 126], 'media_url_https': 'https://pbs.twimg.com/media/CwneIvFXEAAN0Zp.jpg', 'display_url': 'pic.twitter.com/e8SaXiJrxj', 'id': 795411050866872320}]}, 'id': 795411058357837825, 'is_quote_status': False, 'in_reply_to_user_id': None, 'place': None, 'user': {'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, 'text': 'Thank you Minnesota! It is time to #DrainTheSwamp & #MAGA! \\n#ICYMI- watch: https://t.co/fVThC7yIL6 https://t.co/e8SaXiJrxj', 'in_reply_to_user_id_str': None, 'id_str': '795411058357837825'}, in_reply_to_screen_name=None, geo=None, in_reply_to_status_id=None, created_at=datetime.datetime(2016, 11, 6, 23, 42, 28), lang='en', truncated=False, is_quote_status=False, source='Twitter for iPhone', in_reply_to_status_id_str=None, extended_entities={'media': [{'type': 'photo', 'media_url': 'http://pbs.twimg.com/media/CwneIvFXEAAN0Zp.jpg', 'id_str': '795411050866872320', 'sizes': {'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}, 'medium': {'h': 1200, 'w': 1200, 'resize': 'fit'}, 'small': {'h': 680, 'w': 680, 'resize': 'fit'}, 'large': {'h': 1936, 'w': 1936, 'resize': 'fit'}}, 'url': 'https://t.co/e8SaXiJrxj', 'expanded_url': 'https://twitter.com/realDonaldTrump/status/795411058357837825/photo/1', 'indices': [103, 126], 'media_url_https': 'https://pbs.twimg.com/media/CwneIvFXEAAN0Zp.jpg', 'display_url': 'pic.twitter.com/e8SaXiJrxj', 'id': 795411050866872320}]}, coordinates=None, contributors=None, favorited=False, user=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), retweeted=False, id=795411058357837825, in_reply_to_user_id=None, place=None, id_str='795411058357837825', retweet_count=8874, text='Thank you Minnesota! It is time to #DrainTheSwamp & #MAGA! \\n#ICYMI- watch: https://t.co/fVThC7yIL6 https://t.co/e8SaXiJrxj', in_reply_to_user_id_str=None), Status(source_url='http://twitter.com/download/iphone', _api=, entities={'urls': [{'url': 'https://t.co/BcErCtsPdF', 'indices': [54, 77], 'expanded_url': 'https://www.donaldjtrump.com/schedule/register/scranton-pa2/', 'display_url': 'donaldjtrump.com/schedule/regis…'}, {'url': 'https://t.co/pgFMLp0173', 'indices': [112, 135], 'expanded_url': 'https://twitter.com/i/web/status/795402627701964800', 'display_url': 'twitter.com/i/web/status/7…'}], 'symbols': [], 'user_mentions': [], 'hashtags': []}, favorite_count=24455, possibly_sensitive=False, author=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), _json={'entities': {'urls': [{'url': 'https://t.co/BcErCtsPdF', 'indices': [54, 77], 'expanded_url': 'https://www.donaldjtrump.com/schedule/register/scranton-pa2/', 'display_url': 'donaldjtrump.com/schedule/regis…'}, {'url': 'https://t.co/pgFMLp0173', 'indices': [112, 135], 'expanded_url': 'https://twitter.com/i/web/status/795402627701964800', 'display_url': 'twitter.com/i/web/status/7…'}], 'symbols': [], 'user_mentions': [], 'hashtags': []}, 'favorite_count': 24455, 'possibly_sensitive': False, 'in_reply_to_screen_name': None, 'geo': None, 'in_reply_to_status_id': None, 'created_at': 'Sun Nov 06 23:08:58 +0000 2016', 'retweet_count': 9526, 'truncated': True, 'coordinates': None, 'source': 'Twitter for iPhone ', 'lang': 'en', 'in_reply_to_status_id_str': None, 'contributors': None, 'favorited': False, 'retweeted': False, 'id': 795402627701964800, 'is_quote_status': False, 'in_reply_to_user_id': None, 'place': {'attributes': {}, 'url': 'https://api.twitter.com/1.1/geo/id/781e991b9f95b37f.json', 'place_type': 'city', 'bounding_box': {'type': 'Polygon', 'coordinates': [[[-83.446302, 42.179271], [-83.306006, 42.179271], [-83.306006, 42.268212], [-83.446302, 42.268212]]]}, 'country': 'United States', 'full_name': 'Romulus, MI', 'country_code': 'US', 'name': 'Romulus', 'contained_within': [], 'id': '781e991b9f95b37f'}, 'user': {'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, 'text': 'MONDAY - 11/7/2016\\n\\nScranton, Pennsylvania at 5:30pm.\\nhttps://t.co/BcErCtsPdF\\n\\nGrand Rapids, Michigan at 11pm.… https://t.co/pgFMLp0173', 'in_reply_to_user_id_str': None, 'id_str': '795402627701964800'}, in_reply_to_screen_name=None, geo=None, in_reply_to_status_id=None, created_at=datetime.datetime(2016, 11, 6, 23, 8, 58), lang='en', truncated=True, is_quote_status=False, source='Twitter for iPhone', in_reply_to_status_id_str=None, coordinates=None, contributors=None, favorited=False, user=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), retweeted=False, id=795402627701964800, in_reply_to_user_id=None, place=Place(attributes={}, place_type='city', _api=, bounding_box=BoundingBox(_api=, type='Polygon', coordinates=[[[-83.446302, 42.179271], [-83.306006, 42.179271], [-83.306006, 42.268212], [-83.446302, 42.268212]]]), url='https://api.twitter.com/1.1/geo/id/781e991b9f95b37f.json', country='United States', country_code='US', name='Romulus', contained_within=[], id='781e991b9f95b37f', full_name='Romulus, MI'), id_str='795402627701964800', retweet_count=9526, text='MONDAY - 11/7/2016\\n\\nScranton, Pennsylvania at 5:30pm.\\nhttps://t.co/BcErCtsPdF\\n\\nGrand Rapids, Michigan at 11pm.… https://t.co/pgFMLp0173', in_reply_to_user_id_str=None), Status(source_url='http://twitter.com/download/iphone', _api=, entities={'media': [{'type': 'photo', 'media_url': 'http://pbs.twimg.com/media/Cwmjp4KVIAAixLG.jpg', 'id_str': '795346749053280256', 'sizes': {'large': {'h': 1936, 'w': 1936, 'resize': 'fit'}, 'medium': {'h': 1200, 'w': 1200, 'resize': 'fit'}, 'small': {'h': 680, 'w': 680, 'resize': 'fit'}, 'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}}, 'url': 'https://t.co/QsukELQmKb', 'expanded_url': 'https://twitter.com/realDonaldTrump/status/795346759119736832/photo/1', 'indices': [75, 98], 'media_url_https': 'https://pbs.twimg.com/media/Cwmjp4KVIAAixLG.jpg', 'display_url': 'pic.twitter.com/QsukELQmKb', 'id': 795346749053280256}], 'urls': [{'url': 'https://t.co/HfihPERFgZ', 'indices': [51, 74], 'expanded_url': 'http://VOTE.GOP', 'display_url': 'VOTE.GOP'}], 'symbols': [], 'user_mentions': [], 'hashtags': [{'text': 'VoteTrumpPence16', 'indices': [31, 48]}]}, favorite_count=24612, possibly_sensitive=False, author=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), _json={'entities': {'media': [{'type': 'photo', 'media_url': 'http://pbs.twimg.com/media/Cwmjp4KVIAAixLG.jpg', 'id_str': '795346749053280256', 'sizes': {'large': {'h': 1936, 'w': 1936, 'resize': 'fit'}, 'medium': {'h': 1200, 'w': 1200, 'resize': 'fit'}, 'small': {'h': 680, 'w': 680, 'resize': 'fit'}, 'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}}, 'url': 'https://t.co/QsukELQmKb', 'expanded_url': 'https://twitter.com/realDonaldTrump/status/795346759119736832/photo/1', 'indices': [75, 98], 'media_url_https': 'https://pbs.twimg.com/media/Cwmjp4KVIAAixLG.jpg', 'display_url': 'pic.twitter.com/QsukELQmKb', 'id': 795346749053280256}], 'urls': [{'url': 'https://t.co/HfihPERFgZ', 'indices': [51, 74], 'expanded_url': 'http://VOTE.GOP', 'display_url': 'VOTE.GOP'}], 'symbols': [], 'user_mentions': [], 'hashtags': [{'text': 'VoteTrumpPence16', 'indices': [31, 48]}]}, 'favorite_count': 24612, 'possibly_sensitive': False, 'retweeted': False, 'in_reply_to_screen_name': None, 'geo': None, 'in_reply_to_status_id': None, 'created_at': 'Sun Nov 06 19:26:58 +0000 2016', 'retweet_count': 8778, 'truncated': False, 'coordinates': None, 'source': 'Twitter for iPhone ', 'lang': 'en', 'in_reply_to_status_id_str': None, 'contributors': None, 'favorited': False, 'extended_entities': {'media': [{'type': 'photo', 'media_url': 'http://pbs.twimg.com/media/Cwmjp4KVIAAixLG.jpg', 'id_str': '795346749053280256', 'sizes': {'large': {'h': 1936, 'w': 1936, 'resize': 'fit'}, 'medium': {'h': 1200, 'w': 1200, 'resize': 'fit'}, 'small': {'h': 680, 'w': 680, 'resize': 'fit'}, 'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}}, 'url': 'https://t.co/QsukELQmKb', 'expanded_url': 'https://twitter.com/realDonaldTrump/status/795346759119736832/photo/1', 'indices': [75, 98], 'media_url_https': 'https://pbs.twimg.com/media/Cwmjp4KVIAAixLG.jpg', 'display_url': 'pic.twitter.com/QsukELQmKb', 'id': 795346749053280256}]}, 'id': 795346759119736832, 'is_quote_status': False, 'in_reply_to_user_id': None, 'place': {'attributes': {}, 'url': 'https://api.twitter.com/1.1/geo/id/07d9c99186080003.json', 'place_type': 'poi', 'bounding_box': {'type': 'Polygon', 'coordinates': [[[-96.37874364852905, 42.40080812546229], [-96.37874364852905, 42.40080812546229], [-96.37874364852905, 42.40080812546229], [-96.37874364852905, 42.40080812546229]]]}, 'country': 'United States', 'full_name': 'Sioux City Gateway Airport (SUX)', 'country_code': 'US', 'name': 'Sioux City Gateway Airport (SUX)', 'contained_within': [], 'id': '07d9c99186080003'}, 'user': {'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, 'text': 'Thank you Iowa - Get out & #VoteTrumpPence16! \\nhttps://t.co/HfihPERFgZ https://t.co/QsukELQmKb', 'in_reply_to_user_id_str': None, 'id_str': '795346759119736832'}, in_reply_to_screen_name=None, geo=None, in_reply_to_status_id=None, created_at=datetime.datetime(2016, 11, 6, 19, 26, 58), lang='en', truncated=False, is_quote_status=False, source='Twitter for iPhone', in_reply_to_status_id_str=None, extended_entities={'media': [{'type': 'photo', 'media_url': 'http://pbs.twimg.com/media/Cwmjp4KVIAAixLG.jpg', 'id_str': '795346749053280256', 'sizes': {'large': {'h': 1936, 'w': 1936, 'resize': 'fit'}, 'medium': {'h': 1200, 'w': 1200, 'resize': 'fit'}, 'small': {'h': 680, 'w': 680, 'resize': 'fit'}, 'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}}, 'url': 'https://t.co/QsukELQmKb', 'expanded_url': 'https://twitter.com/realDonaldTrump/status/795346759119736832/photo/1', 'indices': [75, 98], 'media_url_https': 'https://pbs.twimg.com/media/Cwmjp4KVIAAixLG.jpg', 'display_url': 'pic.twitter.com/QsukELQmKb', 'id': 795346749053280256}]}, coordinates=None, contributors=None, favorited=False, user=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), retweeted=False, id=795346759119736832, in_reply_to_user_id=None, place=Place(attributes={}, place_type='poi', _api=, bounding_box=BoundingBox(_api=, type='Polygon', coordinates=[[[-96.37874364852905, 42.40080812546229], [-96.37874364852905, 42.40080812546229], [-96.37874364852905, 42.40080812546229], [-96.37874364852905, 42.40080812546229]]]), url='https://api.twitter.com/1.1/geo/id/07d9c99186080003.json', country='United States', country_code='US', name='Sioux City Gateway Airport (SUX)', contained_within=[], id='07d9c99186080003', full_name='Sioux City Gateway Airport (SUX)'), id_str='795346759119736832', retweet_count=8778, text='Thank you Iowa - Get out & #VoteTrumpPence16! \\nhttps://t.co/HfihPERFgZ https://t.co/QsukELQmKb', in_reply_to_user_id_str=None), Status(source_url='http://twitter.com/download/iphone', _api=, entities={'media': [{'media_url_https': 'https://pbs.twimg.com/media/Cwl2XQ2WIAAd7Kh.jpg', 'source_status_id_str': '795296958172844032', 'source_user_id_str': '52544275', 'url': 'https://t.co/pdnxXq2jgy', 'expanded_url': 'https://twitter.com/IvankaTrump/status/795296958172844032/photo/1', 'indices': [45, 68], 'sizes': {'large': {'h': 1536, 'w': 2048, 'resize': 'fit'}, 'medium': {'h': 900, 'w': 1200, 'resize': 'fit'}, 'small': {'h': 510, 'w': 680, 'resize': 'fit'}, 'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}}, 'id': 795296951239581696, 'media_url': 'http://pbs.twimg.com/media/Cwl2XQ2WIAAd7Kh.jpg', 'id_str': '795296951239581696', 'source_user_id': 52544275, 'source_status_id': 795296958172844032, 'type': 'photo', 'display_url': 'pic.twitter.com/pdnxXq2jgy'}], 'urls': [], 'symbols': [], 'user_mentions': [{'name': 'Ivanka Trump', 'id_str': '52544275', 'screen_name': 'IvankaTrump', 'id': 52544275, 'indices': [3, 15]}], 'hashtags': []}, favorite_count=0, possibly_sensitive=False, author=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), _json={'entities': {'media': [{'media_url_https': 'https://pbs.twimg.com/media/Cwl2XQ2WIAAd7Kh.jpg', 'source_status_id_str': '795296958172844032', 'source_user_id_str': '52544275', 'url': 'https://t.co/pdnxXq2jgy', 'expanded_url': 'https://twitter.com/IvankaTrump/status/795296958172844032/photo/1', 'indices': [45, 68], 'sizes': {'large': {'h': 1536, 'w': 2048, 'resize': 'fit'}, 'medium': {'h': 900, 'w': 1200, 'resize': 'fit'}, 'small': {'h': 510, 'w': 680, 'resize': 'fit'}, 'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}}, 'id': 795296951239581696, 'media_url': 'http://pbs.twimg.com/media/Cwl2XQ2WIAAd7Kh.jpg', 'id_str': '795296951239581696', 'source_user_id': 52544275, 'source_status_id': 795296958172844032, 'type': 'photo', 'display_url': 'pic.twitter.com/pdnxXq2jgy'}], 'urls': [], 'symbols': [], 'user_mentions': [{'name': 'Ivanka Trump', 'id_str': '52544275', 'screen_name': 'IvankaTrump', 'id': 52544275, 'indices': [3, 15]}], 'hashtags': []}, 'favorite_count': 0, 'possibly_sensitive': False, 'retweeted': False, 'retweeted_status': {'entities': {'media': [{'type': 'photo', 'media_url': 'http://pbs.twimg.com/media/Cwl2XQ2WIAAd7Kh.jpg', 'id_str': '795296951239581696', 'sizes': {'large': {'h': 1536, 'w': 2048, 'resize': 'fit'}, 'medium': {'h': 900, 'w': 1200, 'resize': 'fit'}, 'small': {'h': 510, 'w': 680, 'resize': 'fit'}, 'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}}, 'url': 'https://t.co/pdnxXq2jgy', 'expanded_url': 'https://twitter.com/IvankaTrump/status/795296958172844032/photo/1', 'indices': [28, 51], 'media_url_https': 'https://pbs.twimg.com/media/Cwl2XQ2WIAAd7Kh.jpg', 'display_url': 'pic.twitter.com/pdnxXq2jgy', 'id': 795296951239581696}], 'urls': [], 'symbols': [], 'user_mentions': [], 'hashtags': []}, 'favorite_count': 24527, 'possibly_sensitive': False, 'retweeted': False, 'in_reply_to_screen_name': None, 'geo': None, 'in_reply_to_status_id': None, 'created_at': 'Sun Nov 06 16:09:05 +0000 2016', 'retweet_count': 7850, 'truncated': False, 'coordinates': None, 'source': 'Twitter for iPhone ', 'lang': 'en', 'in_reply_to_status_id_str': None, 'contributors': None, 'favorited': False, 'extended_entities': {'media': [{'type': 'photo', 'media_url': 'http://pbs.twimg.com/media/Cwl2XQ2WIAAd7Kh.jpg', 'id_str': '795296951239581696', 'sizes': {'large': {'h': 1536, 'w': 2048, 'resize': 'fit'}, 'medium': {'h': 900, 'w': 1200, 'resize': 'fit'}, 'small': {'h': 510, 'w': 680, 'resize': 'fit'}, 'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}}, 'url': 'https://t.co/pdnxXq2jgy', 'expanded_url': 'https://twitter.com/IvankaTrump/status/795296958172844032/photo/1', 'indices': [28, 51], 'media_url_https': 'https://pbs.twimg.com/media/Cwl2XQ2WIAAd7Kh.jpg', 'display_url': 'pic.twitter.com/pdnxXq2jgy', 'id': 795296951239581696}]}, 'id': 795296958172844032, 'is_quote_status': False, 'in_reply_to_user_id': None, 'place': None, 'user': {'time_zone': 'Quito', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': 'https://t.co/qWTVy424t8 is the ultimate destination for #WomenWhoWork with content designed to inspire & empower women working, at all aspects of their lives.', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/528265162763952128/Ky4qmoHR_normal.jpeg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/52544275/1474647139', 'translator_type': 'none', 'friends_count': 819, 'url': 'http://t.co/ZWIfKRzvbD', 'id_str': '52544275', 'screen_name': 'IvankaTrump', 'profile_sidebar_fill_color': 'DDEEF6', 'follow_request_sent': False, 'created_at': 'Tue Jun 30 22:32:03 +0000 2009', 'profile_link_color': 'FF6872', 'followers_count': 2147020, 'profile_sidebar_border_color': '000000', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/378800000082251296/88912727d6e8e405d4a23881edd60def.jpeg', 'following': False, 'entities': {'url': {'urls': [{'url': 'http://t.co/ZWIfKRzvbD', 'indices': [0, 22], 'expanded_url': 'http://www.ivankatrump.com', 'display_url': 'ivankatrump.com'}]}, 'description': {'urls': [{'url': 'https://t.co/qWTVy424t8', 'indices': [0, 23], 'expanded_url': 'http://IvankaTrump.com', 'display_url': 'IvankaTrump.com'}]}}, 'statuses_count': 13127, 'name': 'Ivanka Trump', 'profile_background_color': 'C0DEED', 'utc_offset': -18000, 'id': 52544275, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 1064, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': False, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/378800000082251296/88912727d6e8e405d4a23881edd60def.jpeg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/528265162763952128/Ky4qmoHR_normal.jpeg', 'listed_count': 14071}, 'text': 'Thank you New Hampshire! 🇺🇸 https://t.co/pdnxXq2jgy', 'in_reply_to_user_id_str': None, 'id_str': '795296958172844032'}, 'in_reply_to_screen_name': None, 'geo': None, 'in_reply_to_status_id': None, 'created_at': 'Sun Nov 06 18:09:44 +0000 2016', 'retweet_count': 7850, 'truncated': False, 'coordinates': None, 'source': 'Twitter for iPhone ', 'lang': 'en', 'in_reply_to_status_id_str': None, 'contributors': None, 'favorited': False, 'extended_entities': {'media': [{'media_url_https': 'https://pbs.twimg.com/media/Cwl2XQ2WIAAd7Kh.jpg', 'source_status_id_str': '795296958172844032', 'source_user_id_str': '52544275', 'url': 'https://t.co/pdnxXq2jgy', 'expanded_url': 'https://twitter.com/IvankaTrump/status/795296958172844032/photo/1', 'indices': [45, 68], 'sizes': {'large': {'h': 1536, 'w': 2048, 'resize': 'fit'}, 'medium': {'h': 900, 'w': 1200, 'resize': 'fit'}, 'small': {'h': 510, 'w': 680, 'resize': 'fit'}, 'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}}, 'id': 795296951239581696, 'media_url': 'http://pbs.twimg.com/media/Cwl2XQ2WIAAd7Kh.jpg', 'id_str': '795296951239581696', 'source_user_id': 52544275, 'source_status_id': 795296958172844032, 'type': 'photo', 'display_url': 'pic.twitter.com/pdnxXq2jgy'}]}, 'id': 795327323016953857, 'is_quote_status': False, 'in_reply_to_user_id': None, 'place': None, 'user': {'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, 'text': 'RT @IvankaTrump: Thank you New Hampshire! 🇺🇸 https://t.co/pdnxXq2jgy', 'in_reply_to_user_id_str': None, 'id_str': '795327323016953857'}, retweeted_status=Status(source_url='http://twitter.com/download/iphone', _api=, entities={'media': [{'type': 'photo', 'media_url': 'http://pbs.twimg.com/media/Cwl2XQ2WIAAd7Kh.jpg', 'id_str': '795296951239581696', 'sizes': {'large': {'h': 1536, 'w': 2048, 'resize': 'fit'}, 'medium': {'h': 900, 'w': 1200, 'resize': 'fit'}, 'small': {'h': 510, 'w': 680, 'resize': 'fit'}, 'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}}, 'url': 'https://t.co/pdnxXq2jgy', 'expanded_url': 'https://twitter.com/IvankaTrump/status/795296958172844032/photo/1', 'indices': [28, 51], 'media_url_https': 'https://pbs.twimg.com/media/Cwl2XQ2WIAAd7Kh.jpg', 'display_url': 'pic.twitter.com/pdnxXq2jgy', 'id': 795296951239581696}], 'urls': [], 'symbols': [], 'user_mentions': [], 'hashtags': []}, favorite_count=24527, possibly_sensitive=False, author=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/378800000082251296/88912727d6e8e405d4a23881edd60def.jpeg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/528265162763952128/Ky4qmoHR_normal.jpeg', default_profile=False, notifications=False, profile_sidebar_fill_color='DDEEF6', follow_request_sent=False, created_at=datetime.datetime(2009, 6, 30, 22, 32, 3), profile_link_color='FF6872', profile_text_color='333333', friends_count=819, profile_sidebar_border_color='000000', profile_background_color='C0DEED', utc_offset=-18000, id=52544275, verified=True, location='New York, NY', favourites_count=1064, profile_image_url='http://pbs.twimg.com/profile_images/528265162763952128/Ky4qmoHR_normal.jpeg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/378800000082251296/88912727d6e8e405d4a23881edd60def.jpeg', profile_background_tile=True, time_zone='Quito', has_extended_profile=False, _api=, description='https://t.co/qWTVy424t8 is the ultimate destination for #WomenWhoWork with content designed to inspire & empower women working, at all aspects of their lives.', entities={'url': {'urls': [{'url': 'http://t.co/ZWIfKRzvbD', 'indices': [0, 22], 'expanded_url': 'http://www.ivankatrump.com', 'display_url': 'ivankatrump.com'}]}, 'description': {'urls': [{'url': 'https://t.co/qWTVy424t8', 'indices': [0, 23], 'expanded_url': 'http://IvankaTrump.com', 'display_url': 'IvankaTrump.com'}]}}, _json={'time_zone': 'Quito', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': 'https://t.co/qWTVy424t8 is the ultimate destination for #WomenWhoWork with content designed to inspire & empower women working, at all aspects of their lives.', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/528265162763952128/Ky4qmoHR_normal.jpeg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/52544275/1474647139', 'translator_type': 'none', 'friends_count': 819, 'url': 'http://t.co/ZWIfKRzvbD', 'id_str': '52544275', 'screen_name': 'IvankaTrump', 'profile_sidebar_fill_color': 'DDEEF6', 'follow_request_sent': False, 'created_at': 'Tue Jun 30 22:32:03 +0000 2009', 'profile_link_color': 'FF6872', 'followers_count': 2147020, 'profile_sidebar_border_color': '000000', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/378800000082251296/88912727d6e8e405d4a23881edd60def.jpeg', 'following': False, 'entities': {'url': {'urls': [{'url': 'http://t.co/ZWIfKRzvbD', 'indices': [0, 22], 'expanded_url': 'http://www.ivankatrump.com', 'display_url': 'ivankatrump.com'}]}, 'description': {'urls': [{'url': 'https://t.co/qWTVy424t8', 'indices': [0, 23], 'expanded_url': 'http://IvankaTrump.com', 'display_url': 'IvankaTrump.com'}]}}, 'statuses_count': 13127, 'name': 'Ivanka Trump', 'profile_background_color': 'C0DEED', 'utc_offset': -18000, 'id': 52544275, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 1064, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': False, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/378800000082251296/88912727d6e8e405d4a23881edd60def.jpeg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/528265162763952128/Ky4qmoHR_normal.jpeg', 'listed_count': 14071}, name='Ivanka Trump', id_str='52544275', screen_name='IvankaTrump', following=False, followers_count=2147020, geo_enabled=True, default_profile_image=False, statuses_count=13127, url='http://t.co/ZWIfKRzvbD', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/52544275/1474647139', is_translation_enabled=False, listed_count=14071), _json={'entities': {'media': [{'type': 'photo', 'media_url': 'http://pbs.twimg.com/media/Cwl2XQ2WIAAd7Kh.jpg', 'id_str': '795296951239581696', 'sizes': {'large': {'h': 1536, 'w': 2048, 'resize': 'fit'}, 'medium': {'h': 900, 'w': 1200, 'resize': 'fit'}, 'small': {'h': 510, 'w': 680, 'resize': 'fit'}, 'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}}, 'url': 'https://t.co/pdnxXq2jgy', 'expanded_url': 'https://twitter.com/IvankaTrump/status/795296958172844032/photo/1', 'indices': [28, 51], 'media_url_https': 'https://pbs.twimg.com/media/Cwl2XQ2WIAAd7Kh.jpg', 'display_url': 'pic.twitter.com/pdnxXq2jgy', 'id': 795296951239581696}], 'urls': [], 'symbols': [], 'user_mentions': [], 'hashtags': []}, 'favorite_count': 24527, 'possibly_sensitive': False, 'retweeted': False, 'in_reply_to_screen_name': None, 'geo': None, 'in_reply_to_status_id': None, 'created_at': 'Sun Nov 06 16:09:05 +0000 2016', 'retweet_count': 7850, 'truncated': False, 'coordinates': None, 'source': 'Twitter for iPhone ', 'lang': 'en', 'in_reply_to_status_id_str': None, 'contributors': None, 'favorited': False, 'extended_entities': {'media': [{'type': 'photo', 'media_url': 'http://pbs.twimg.com/media/Cwl2XQ2WIAAd7Kh.jpg', 'id_str': '795296951239581696', 'sizes': {'large': {'h': 1536, 'w': 2048, 'resize': 'fit'}, 'medium': {'h': 900, 'w': 1200, 'resize': 'fit'}, 'small': {'h': 510, 'w': 680, 'resize': 'fit'}, 'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}}, 'url': 'https://t.co/pdnxXq2jgy', 'expanded_url': 'https://twitter.com/IvankaTrump/status/795296958172844032/photo/1', 'indices': [28, 51], 'media_url_https': 'https://pbs.twimg.com/media/Cwl2XQ2WIAAd7Kh.jpg', 'display_url': 'pic.twitter.com/pdnxXq2jgy', 'id': 795296951239581696}]}, 'id': 795296958172844032, 'is_quote_status': False, 'in_reply_to_user_id': None, 'place': None, 'user': {'time_zone': 'Quito', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': 'https://t.co/qWTVy424t8 is the ultimate destination for #WomenWhoWork with content designed to inspire & empower women working, at all aspects of their lives.', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/528265162763952128/Ky4qmoHR_normal.jpeg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/52544275/1474647139', 'translator_type': 'none', 'friends_count': 819, 'url': 'http://t.co/ZWIfKRzvbD', 'id_str': '52544275', 'screen_name': 'IvankaTrump', 'profile_sidebar_fill_color': 'DDEEF6', 'follow_request_sent': False, 'created_at': 'Tue Jun 30 22:32:03 +0000 2009', 'profile_link_color': 'FF6872', 'followers_count': 2147020, 'profile_sidebar_border_color': '000000', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/378800000082251296/88912727d6e8e405d4a23881edd60def.jpeg', 'following': False, 'entities': {'url': {'urls': [{'url': 'http://t.co/ZWIfKRzvbD', 'indices': [0, 22], 'expanded_url': 'http://www.ivankatrump.com', 'display_url': 'ivankatrump.com'}]}, 'description': {'urls': [{'url': 'https://t.co/qWTVy424t8', 'indices': [0, 23], 'expanded_url': 'http://IvankaTrump.com', 'display_url': 'IvankaTrump.com'}]}}, 'statuses_count': 13127, 'name': 'Ivanka Trump', 'profile_background_color': 'C0DEED', 'utc_offset': -18000, 'id': 52544275, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 1064, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': False, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/378800000082251296/88912727d6e8e405d4a23881edd60def.jpeg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/528265162763952128/Ky4qmoHR_normal.jpeg', 'listed_count': 14071}, 'text': 'Thank you New Hampshire! 🇺🇸 https://t.co/pdnxXq2jgy', 'in_reply_to_user_id_str': None, 'id_str': '795296958172844032'}, in_reply_to_screen_name=None, geo=None, in_reply_to_status_id=None, created_at=datetime.datetime(2016, 11, 6, 16, 9, 5), lang='en', truncated=False, is_quote_status=False, source='Twitter for iPhone', in_reply_to_status_id_str=None, extended_entities={'media': [{'type': 'photo', 'media_url': 'http://pbs.twimg.com/media/Cwl2XQ2WIAAd7Kh.jpg', 'id_str': '795296951239581696', 'sizes': {'large': {'h': 1536, 'w': 2048, 'resize': 'fit'}, 'medium': {'h': 900, 'w': 1200, 'resize': 'fit'}, 'small': {'h': 510, 'w': 680, 'resize': 'fit'}, 'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}}, 'url': 'https://t.co/pdnxXq2jgy', 'expanded_url': 'https://twitter.com/IvankaTrump/status/795296958172844032/photo/1', 'indices': [28, 51], 'media_url_https': 'https://pbs.twimg.com/media/Cwl2XQ2WIAAd7Kh.jpg', 'display_url': 'pic.twitter.com/pdnxXq2jgy', 'id': 795296951239581696}]}, coordinates=None, contributors=None, favorited=False, user=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/378800000082251296/88912727d6e8e405d4a23881edd60def.jpeg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/528265162763952128/Ky4qmoHR_normal.jpeg', default_profile=False, notifications=False, profile_sidebar_fill_color='DDEEF6', follow_request_sent=False, created_at=datetime.datetime(2009, 6, 30, 22, 32, 3), profile_link_color='FF6872', profile_text_color='333333', friends_count=819, profile_sidebar_border_color='000000', profile_background_color='C0DEED', utc_offset=-18000, id=52544275, verified=True, location='New York, NY', favourites_count=1064, profile_image_url='http://pbs.twimg.com/profile_images/528265162763952128/Ky4qmoHR_normal.jpeg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/378800000082251296/88912727d6e8e405d4a23881edd60def.jpeg', profile_background_tile=True, time_zone='Quito', has_extended_profile=False, _api=, description='https://t.co/qWTVy424t8 is the ultimate destination for #WomenWhoWork with content designed to inspire & empower women working, at all aspects of their lives.', entities={'url': {'urls': [{'url': 'http://t.co/ZWIfKRzvbD', 'indices': [0, 22], 'expanded_url': 'http://www.ivankatrump.com', 'display_url': 'ivankatrump.com'}]}, 'description': {'urls': [{'url': 'https://t.co/qWTVy424t8', 'indices': [0, 23], 'expanded_url': 'http://IvankaTrump.com', 'display_url': 'IvankaTrump.com'}]}}, _json={'time_zone': 'Quito', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': 'https://t.co/qWTVy424t8 is the ultimate destination for #WomenWhoWork with content designed to inspire & empower women working, at all aspects of their lives.', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/528265162763952128/Ky4qmoHR_normal.jpeg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/52544275/1474647139', 'translator_type': 'none', 'friends_count': 819, 'url': 'http://t.co/ZWIfKRzvbD', 'id_str': '52544275', 'screen_name': 'IvankaTrump', 'profile_sidebar_fill_color': 'DDEEF6', 'follow_request_sent': False, 'created_at': 'Tue Jun 30 22:32:03 +0000 2009', 'profile_link_color': 'FF6872', 'followers_count': 2147020, 'profile_sidebar_border_color': '000000', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/378800000082251296/88912727d6e8e405d4a23881edd60def.jpeg', 'following': False, 'entities': {'url': {'urls': [{'url': 'http://t.co/ZWIfKRzvbD', 'indices': [0, 22], 'expanded_url': 'http://www.ivankatrump.com', 'display_url': 'ivankatrump.com'}]}, 'description': {'urls': [{'url': 'https://t.co/qWTVy424t8', 'indices': [0, 23], 'expanded_url': 'http://IvankaTrump.com', 'display_url': 'IvankaTrump.com'}]}}, 'statuses_count': 13127, 'name': 'Ivanka Trump', 'profile_background_color': 'C0DEED', 'utc_offset': -18000, 'id': 52544275, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 1064, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': False, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/378800000082251296/88912727d6e8e405d4a23881edd60def.jpeg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/528265162763952128/Ky4qmoHR_normal.jpeg', 'listed_count': 14071}, name='Ivanka Trump', id_str='52544275', screen_name='IvankaTrump', following=False, followers_count=2147020, geo_enabled=True, default_profile_image=False, statuses_count=13127, url='http://t.co/ZWIfKRzvbD', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/52544275/1474647139', is_translation_enabled=False, listed_count=14071), retweeted=False, id=795296958172844032, in_reply_to_user_id=None, place=None, id_str='795296958172844032', retweet_count=7850, text='Thank you New Hampshire! 🇺🇸 https://t.co/pdnxXq2jgy', in_reply_to_user_id_str=None), in_reply_to_screen_name=None, geo=None, in_reply_to_status_id=None, created_at=datetime.datetime(2016, 11, 6, 18, 9, 44), lang='en', truncated=False, is_quote_status=False, source='Twitter for iPhone', in_reply_to_status_id_str=None, extended_entities={'media': [{'media_url_https': 'https://pbs.twimg.com/media/Cwl2XQ2WIAAd7Kh.jpg', 'source_status_id_str': '795296958172844032', 'source_user_id_str': '52544275', 'url': 'https://t.co/pdnxXq2jgy', 'expanded_url': 'https://twitter.com/IvankaTrump/status/795296958172844032/photo/1', 'indices': [45, 68], 'sizes': {'large': {'h': 1536, 'w': 2048, 'resize': 'fit'}, 'medium': {'h': 900, 'w': 1200, 'resize': 'fit'}, 'small': {'h': 510, 'w': 680, 'resize': 'fit'}, 'thumb': {'h': 150, 'w': 150, 'resize': 'crop'}}, 'id': 795296951239581696, 'media_url': 'http://pbs.twimg.com/media/Cwl2XQ2WIAAd7Kh.jpg', 'id_str': '795296951239581696', 'source_user_id': 52544275, 'source_status_id': 795296958172844032, 'type': 'photo', 'display_url': 'pic.twitter.com/pdnxXq2jgy'}]}, coordinates=None, contributors=None, favorited=False, user=User(translator_type='none', profile_background_image_url='http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', lang='en', profile_image_url_https='https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', default_profile=False, notifications=False, profile_sidebar_fill_color='C5CEC0', follow_request_sent=False, created_at=datetime.datetime(2009, 3, 18, 13, 46, 38), profile_link_color='0D5B73', profile_text_color='333333', friends_count=41, profile_sidebar_border_color='BDDCAD', profile_background_color='6D5C18', utc_offset=-18000, id=25073877, verified=True, location='New York, NY', favourites_count=45, profile_image_url='http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', protected=False, is_translator=False, profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', profile_background_tile=True, time_zone='Eastern Time (US & Canada)', has_extended_profile=False, _api=, description='', entities={'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, _json={'time_zone': 'Eastern Time (US & Canada)', 'has_extended_profile': False, 'profile_use_background_image': True, 'description': '', 'lang': 'en', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'notifications': False, 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1468988952', 'translator_type': 'none', 'friends_count': 41, 'url': 'https://t.co/mZB2hymxC9', 'id_str': '25073877', 'screen_name': 'realDonaldTrump', 'profile_sidebar_fill_color': 'C5CEC0', 'follow_request_sent': False, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'profile_link_color': '0D5B73', 'followers_count': 13005553, 'profile_sidebar_border_color': 'BDDCAD', 'profile_text_color': '333333', 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'following': False, 'entities': {'url': {'urls': [{'url': 'https://t.co/mZB2hymxC9', 'indices': [0, 23], 'expanded_url': None}]}, 'description': {'urls': []}}, 'statuses_count': 33957, 'name': 'Donald J. Trump', 'profile_background_color': '6D5C18', 'utc_offset': -18000, 'id': 25073877, 'default_profile': False, 'verified': True, 'contributors_enabled': False, 'location': 'New York, NY', 'default_profile_image': False, 'favourites_count': 45, 'profile_background_tile': True, 'protected': False, 'is_translator': False, 'is_translation_enabled': True, 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'listed_count': 41278}, name='Donald J. Trump', id_str='25073877', screen_name='realDonaldTrump', following=False, followers_count=13005553, geo_enabled=True, default_profile_image=False, statuses_count=33957, url='https://t.co/mZB2hymxC9', profile_use_background_image=True, contributors_enabled=False, profile_banner_url='https://pbs.twimg.com/profile_banners/25073877/1468988952', is_translation_enabled=True, listed_count=41278), retweeted=False, id=795327323016953857, in_reply_to_user_id=None, place=None, id_str='795327323016953857', retweet_count=7850, text='RT @IvankaTrump: Thank you New Hampshire! 🇺🇸 https://t.co/pdnxXq2jgy', in_reply_to_user_id_str=None)]\n"
- ]
- }
- ],
- "source": [
- "print(donald_timeline)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 22,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Wilkes-Barre/Scranton International Airport (AVP) Tue Nov 08 00:17:57 +0000 2016\n",
- "Wilkes-Barre/Scranton International Airport (AVP) Tue Nov 08 00:16:15 +0000 2016\n",
- "Scranton, PA Tue Nov 08 00:08:28 +0000 2016\n",
- "Raleigh, NC Mon Nov 07 21:37:25 +0000 2016\n",
- "Raleigh, NC Mon Nov 07 21:35:14 +0000 2016\n",
- "Raleigh, NC Mon Nov 07 21:32:26 +0000 2016\n",
- "North Carolina, USA Mon Nov 07 21:03:13 +0000 2016\n",
- "Raleigh, NC Mon Nov 07 19:31:54 +0000 2016\n",
- "North Carolina, USA Mon Nov 07 19:30:12 +0000 2016\n",
- "Sarasota-Bradenton International Airport (SRQ) Mon Nov 07 17:10:20 +0000 2016\n",
- "Virginia, USA Mon Nov 07 06:35:39 +0000 2016\n",
- "Michigan, USA Mon Nov 07 01:52:18 +0000 2016\n",
- "Michigan, USA Mon Nov 07 00:09:41 +0000 2016\n",
- "Romulus, MI Sun Nov 06 23:08:58 +0000 2016\n",
- "Sioux City Gateway Airport (SUX) Sun Nov 06 19:26:58 +0000 2016\n",
- "Colorado, USA Sun Nov 06 06:08:32 +0000 2016\n",
- "Reno, NV Sun Nov 06 02:03:20 +0000 2016\n",
- "Reno, NV Sun Nov 06 00:20:16 +0000 2016\n",
- "Reno, NV Sun Nov 06 00:19:18 +0000 2016\n",
- "Hershey, PA Fri Nov 04 23:57:37 +0000 2016\n",
- "Hershey, PA Fri Nov 04 23:50:57 +0000 2016\n",
- "Wilmington, OH Fri Nov 04 20:33:12 +0000 2016\n",
- "Manchester, NH Fri Nov 04 18:46:42 +0000 2016\n",
- "Manchester, NH Fri Nov 04 16:28:36 +0000 2016\n",
- "Manchester, NH Fri Nov 04 16:17:22 +0000 2016\n",
- "Concord, NC Thu Nov 03 20:55:36 +0000 2016\n",
- "Concord, NC Thu Nov 03 20:52:52 +0000 2016\n",
- "Florida, USA Thu Nov 03 03:55:49 +0000 2016\n",
- "Pensacola, FL Wed Nov 02 23:34:23 +0000 2016\n",
- "Orlando, FL Wed Nov 02 21:30:24 +0000 2016\n",
- "Orlando, FL Wed Nov 02 19:09:28 +0000 2016\n",
- "Orlando, FL Wed Nov 02 18:58:34 +0000 2016\n",
- "Orlando, FL Wed Nov 02 18:57:07 +0000 2016\n",
- "Miami, FL Wed Nov 02 17:15:30 +0000 2016\n",
- "Eau Claire, WI Wed Nov 02 00:32:51 +0000 2016\n",
- "Eau Claire, WI Tue Nov 01 21:57:54 +0000 2016\n",
- "Eau Claire, WI Tue Nov 01 21:46:18 +0000 2016\n",
- "Eau Claire, WI Tue Nov 01 21:28:55 +0000 2016\n",
- "Eau Claire, WI Tue Nov 01 21:20:04 +0000 2016\n",
- "Eau Claire, WI Tue Nov 01 21:16:57 +0000 2016\n",
- "Eau Claire, WI Tue Nov 01 21:15:42 +0000 2016\n",
- "Warren, MI Mon Oct 31 20:49:56 +0000 2016\n",
- "Michigan, USA Mon Oct 31 19:08:25 +0000 2016\n",
- "Michigan, USA Mon Oct 31 19:00:42 +0000 2016\n",
- "Michigan, USA Mon Oct 31 16:38:13 +0000 2016\n",
- "Chicago, IL Mon Oct 31 16:00:19 +0000 2016\n",
- "Greeley, CO Sun Oct 30 23:19:09 +0000 2016\n",
- "Sands Convention Center Sun Oct 30 19:05:31 +0000 2016\n",
- "Nevada, USA Sun Oct 30 17:58:52 +0000 2016\n",
- "Colorado, USA Sat Oct 29 20:02:16 +0000 2016\n",
- "Colorado, USA Sat Oct 29 19:56:49 +0000 2016\n",
- "Golden, CO Sat Oct 29 17:02:04 +0000 2016\n",
- "Golden, CO Sat Oct 29 16:54:54 +0000 2016\n",
- "Manchester, NH Fri Oct 28 19:20:22 +0000 2016\n",
- "Manchester, NH Fri Oct 28 17:24:08 +0000 2016\n",
- "Manhattan, NY Fri Oct 28 15:39:01 +0000 2016\n",
- "Geneva, OH Fri Oct 28 01:47:08 +0000 2016\n",
- "Ohio, USA Fri Oct 28 00:14:46 +0000 2016\n",
- "Ohio, USA Thu Oct 27 22:37:22 +0000 2016\n",
- "Toledo, OH Thu Oct 27 22:05:00 +0000 2016\n",
- "Toledo, OH Thu Oct 27 21:07:48 +0000 2016\n",
- "Toledo, OH Thu Oct 27 21:02:09 +0000 2016\n",
- "Springfield, Ohio Thu Oct 27 19:26:05 +0000 2016\n",
- "Ohio, USA Thu Oct 27 17:45:20 +0000 2016\n",
- "Manhattan, NY Thu Oct 27 14:49:59 +0000 2016\n",
- "Queens, NY Thu Oct 27 14:44:46 +0000 2016\n",
- "Manhattan, NY Thu Oct 27 14:32:59 +0000 2016\n",
- "Manhattan, NY Thu Oct 27 14:10:38 +0000 2016\n",
- "Manhattan, NY Thu Oct 27 14:08:15 +0000 2016\n",
- "Charlotte, NC Wed Oct 26 21:59:15 +0000 2016\n",
- "Ronald Reagan Washington National Airport (DCA) Wed Oct 26 18:49:49 +0000 2016\n",
- "Tallahassee, FL Tue Oct 25 23:31:58 +0000 2016\n",
- "Sanford, FL Tue Oct 25 22:28:43 +0000 2016\n",
- "Tallahassee, FL Tue Oct 25 22:01:50 +0000 2016\n",
- "Tallahassee, FL Tue Oct 25 21:54:05 +0000 2016\n",
- "Florida, USA Tue Oct 25 21:36:51 +0000 2016\n",
- "Sanford, FL Tue Oct 25 21:03:40 +0000 2016\n",
- "Sanford, FL Tue Oct 25 20:43:45 +0000 2016\n",
- "Miami, FL Tue Oct 25 18:27:06 +0000 2016\n",
- "Doral, FL Tue Oct 25 16:20:43 +0000 2016\n",
- "Doral, FL Tue Oct 25 16:10:59 +0000 2016\n",
- "Doral, FL Tue Oct 25 15:22:35 +0000 2016\n",
- "Doral, FL Tue Oct 25 15:21:37 +0000 2016\n",
- "Doral, FL Tue Oct 25 15:20:18 +0000 2016\n",
- "Doral, FL Tue Oct 25 14:44:51 +0000 2016\n",
- "Doral, FL Tue Oct 25 14:39:09 +0000 2016\n",
- "Doral, FL Tue Oct 25 14:33:57 +0000 2016\n",
- "Doral, FL Tue Oct 25 14:31:19 +0000 2016\n",
- "Florida, USA Tue Oct 25 01:43:26 +0000 2016\n",
- "Florida, USA Tue Oct 25 01:27:16 +0000 2016\n",
- "Tampa, FL Tue Oct 25 00:33:07 +0000 2016\n",
- "Tampa, FL Mon Oct 24 21:52:36 +0000 2016\n",
- "Tampa, FL Mon Oct 24 21:50:25 +0000 2016\n",
- "Florida, USA Mon Oct 24 21:15:23 +0000 2016\n",
- "Northeast Florida Regional Airport / St. Augustine Airport (SGJ) Mon Oct 24 20:39:38 +0000 2016\n",
- "St. Augustine Amphitheatre Mon Oct 24 19:01:18 +0000 2016\n",
- "St Augustine, FL Mon Oct 24 18:30:43 +0000 2016\n",
- "Palm Beach International Airport (PBI) Mon Oct 24 16:37:58 +0000 2016\n",
- "Palm Beach International Airport (PBI) Mon Oct 24 16:35:59 +0000 2016\n",
- "Boynton Beach, FL Mon Oct 24 16:04:52 +0000 2016\n",
- "Boynton Beach, FL Mon Oct 24 15:55:44 +0000 2016\n",
- "Florida, USA Mon Oct 24 14:46:16 +0000 2016\n",
- "Florida, USA Mon Oct 24 14:17:35 +0000 2016\n",
- "Florida, USA Mon Oct 24 13:05:36 +0000 2016\n",
- "Florida, USA Mon Oct 24 02:25:05 +0000 2016\n",
- "Florida, USA Mon Oct 24 00:07:47 +0000 2016\n",
- "Florida, USA Mon Oct 24 00:05:36 +0000 2016\n",
- "Florida, USA Sun Oct 23 19:08:42 +0000 2016\n",
- "Florida, USA Sun Oct 23 17:56:43 +0000 2016\n",
- "Florida, USA Sun Oct 23 16:34:32 +0000 2016\n",
- "Florida, USA Sun Oct 23 16:30:03 +0000 2016\n",
- "United States Sun Oct 23 16:23:50 +0000 2016\n",
- "United States Sun Oct 23 02:26:32 +0000 2016\n",
- "United States Sun Oct 23 02:21:32 +0000 2016\n",
- "United States Sun Oct 23 02:05:01 +0000 2016\n",
- "Cleveland I-X Exhibition and Convention Center Sat Oct 22 23:08:25 +0000 2016\n",
- "Virginia Beach, VA Sat Oct 22 21:09:56 +0000 2016\n",
- "Virginia Beach, VA Sat Oct 22 19:54:40 +0000 2016\n",
- "Pennsylvania, USA Sat Oct 22 18:18:43 +0000 2016\n",
- "Pennsylvania, USA Sat Oct 22 17:54:11 +0000 2016\n",
- "Pennsylvania, USA Sat Oct 22 17:49:56 +0000 2016\n",
- "Newtown, PA Fri Oct 21 22:50:00 +0000 2016\n",
- "Newtown, PA Fri Oct 21 22:46:37 +0000 2016\n",
- "Newtown, PA Fri Oct 21 22:36:04 +0000 2016\n",
- "Pennsylvania, USA Fri Oct 21 22:30:14 +0000 2016\n",
- "Pennsylvania, USA Fri Oct 21 22:14:47 +0000 2016\n",
- "Pennsylvania, USA Fri Oct 21 22:10:57 +0000 2016\n",
- "Cambria County War Memorial Fri Oct 21 21:07:54 +0000 2016\n",
- "Pennsylvania, USA Fri Oct 21 18:58:20 +0000 2016\n",
- "Pennsylvania, USA Fri Oct 21 18:54:00 +0000 2016\n",
- "North Carolina, USA Fri Oct 21 17:43:39 +0000 2016\n",
- "United States Thu Oct 20 20:30:01 +0000 2016\n",
- "United States Thu Oct 20 20:26:01 +0000 2016\n",
- "United States Thu Oct 20 20:06:18 +0000 2016\n",
- "United States Thu Oct 20 19:51:59 +0000 2016\n",
- "Delaware County Fairgrounds Thu Oct 20 19:51:39 +0000 2016\n",
- "Columbus, OH Thu Oct 20 18:25:34 +0000 2016\n",
- "Delaware County Fairgrounds Thu Oct 20 17:33:10 +0000 2016\n",
- "Ohio, USA Thu Oct 20 15:52:38 +0000 2016\n",
- "Columbus, OH Thu Oct 20 13:27:41 +0000 2016\n",
- "Ohio, USA Thu Oct 20 07:14:05 +0000 2016\n",
- "United States Thu Oct 20 04:27:27 +0000 2016\n",
- "United States Thu Oct 20 04:10:06 +0000 2016\n",
- "Arizona, USA Thu Oct 20 04:06:44 +0000 2016\n",
- "Nevada, USA Thu Oct 20 02:51:39 +0000 2016\n",
- "University of Nevada, Las Vegas Thu Oct 20 02:47:21 +0000 2016\n",
- "University of Nevada, Las Vegas Thu Oct 20 02:34:01 +0000 2016\n",
- "University of Nevada, Las Vegas Thu Oct 20 02:32:57 +0000 2016\n",
- "University of Nevada, Las Vegas Thu Oct 20 02:31:07 +0000 2016\n",
- "University of Nevada, Las Vegas Thu Oct 20 02:29:29 +0000 2016\n",
- "University of Nevada, Las Vegas Thu Oct 20 02:27:31 +0000 2016\n",
- "University of Nevada, Las Vegas Thu Oct 20 02:21:19 +0000 2016\n",
- "University of Nevada, Las Vegas Thu Oct 20 02:16:25 +0000 2016\n",
- "University of Nevada, Las Vegas Thu Oct 20 02:14:29 +0000 2016\n",
- "University of Nevada, Las Vegas Thu Oct 20 02:11:33 +0000 2016\n",
- "Las Vegas, NV Thu Oct 20 01:59:07 +0000 2016\n",
- "University of Nevada, Las Vegas Thu Oct 20 01:57:00 +0000 2016\n",
- "University of Nevada, Las Vegas Thu Oct 20 01:55:42 +0000 2016\n",
- "University of Nevada, Las Vegas Thu Oct 20 01:50:20 +0000 2016\n",
- "University of Nevada, Las Vegas Thu Oct 20 01:49:00 +0000 2016\n",
- "University of Nevada, Las Vegas Thu Oct 20 01:46:54 +0000 2016\n",
- "University of Nevada, Las Vegas Thu Oct 20 01:44:36 +0000 2016\n",
- "University of Nevada, Las Vegas Thu Oct 20 01:39:40 +0000 2016\n",
- "University of Nevada, Las Vegas Thu Oct 20 01:37:37 +0000 2016\n",
- "University of Nevada, Las Vegas Thu Oct 20 01:32:46 +0000 2016\n",
- "Paradise, NV Thu Oct 20 01:28:41 +0000 2016\n",
- "University of Nevada, Las Vegas Thu Oct 20 01:18:09 +0000 2016\n",
- "University of Nevada, Las Vegas Thu Oct 20 00:58:56 +0000 2016\n",
- "Nevada, USA Wed Oct 19 22:57:24 +0000 2016\n",
- "Nevada, USA Wed Oct 19 22:16:07 +0000 2016\n",
- "Nevada, USA Wed Oct 19 22:14:24 +0000 2016\n",
- "Nevada, USA Wed Oct 19 21:28:45 +0000 2016\n",
- "Nevada, USA Wed Oct 19 21:26:25 +0000 2016\n",
- "Nevada, USA Wed Oct 19 21:22:26 +0000 2016\n",
- "Nevada, USA Wed Oct 19 19:57:03 +0000 2016\n",
- "Nevada, USA Wed Oct 19 19:31:10 +0000 2016\n",
- "Nevada, USA Wed Oct 19 19:09:28 +0000 2016\n",
- "Nevada, USA Wed Oct 19 18:10:41 +0000 2016\n",
- "Nevada, USA Wed Oct 19 18:06:23 +0000 2016\n",
- "Nevada, USA Wed Oct 19 18:05:18 +0000 2016\n",
- "Nevada, USA Wed Oct 19 17:00:22 +0000 2016\n",
- "Nevada, USA Wed Oct 19 16:57:44 +0000 2016\n",
- "Nevada, USA Wed Oct 19 15:34:12 +0000 2016\n",
- "United States Wed Oct 19 01:28:27 +0000 2016\n",
- "United States Wed Oct 19 01:00:40 +0000 2016\n",
- "Nevada, USA Wed Oct 19 00:53:43 +0000 2016\n",
- "United States Wed Oct 19 00:34:21 +0000 2016\n",
- "United States Wed Oct 19 00:31:25 +0000 2016\n",
- "Colorado Springs, CO Tue Oct 18 19:53:23 +0000 2016\n",
- "Colorado Springs, CO Tue Oct 18 18:43:15 +0000 2016\n",
- "Colorado Springs, CO Tue Oct 18 18:05:45 +0000 2016\n",
- "Colorado Springs, CO Tue Oct 18 15:36:44 +0000 2016\n",
- "Colorado Springs, CO Tue Oct 18 15:34:06 +0000 2016\n",
- "Colorado Springs, CO Tue Oct 18 15:33:18 +0000 2016\n",
- "Cedar Falls, IA Tue Oct 18 02:07:55 +0000 2016\n",
- "United States Tue Oct 18 01:43:34 +0000 2016\n",
- "United States Tue Oct 18 01:42:15 +0000 2016\n",
- "United States Mon Oct 17 22:51:31 +0000 2016\n",
- "United States Mon Oct 17 22:46:12 +0000 2016\n",
- "United States Mon Oct 17 21:44:31 +0000 2016\n",
- "United States Mon Oct 17 21:38:13 +0000 2016\n",
- "Manhattan, NY Mon Oct 17 19:11:28 +0000 2016\n",
- "New York, USA Mon Oct 17 15:20:17 +0000 2016\n",
- "United States Mon Oct 17 14:58:32 +0000 2016\n",
- "East Fishkill, NY Sun Oct 16 20:13:36 +0000 2016\n",
- "United States Sun Oct 16 19:26:11 +0000 2016\n",
- "United States Sun Oct 16 16:07:58 +0000 2016\n",
- "United States Sun Oct 16 16:07:08 +0000 2016\n",
- "United States Sun Oct 16 13:15:03 +0000 2016\n",
- "United States Sun Oct 16 13:12:17 +0000 2016\n",
- "United States Sun Oct 16 00:03:33 +0000 2016\n",
- "United States Sat Oct 15 23:11:27 +0000 2016\n",
- "Maine, USA Sat Oct 15 18:11:06 +0000 2016\n",
- "United States Sat Oct 15 15:55:19 +0000 2016\n",
- "Newington, NH Sat Oct 15 15:52:48 +0000 2016\n",
- "United States Sat Oct 15 03:05:29 +0000 2016\n",
- "Charlotte, NC Sat Oct 15 01:14:08 +0000 2016\n",
- "Greensboro, NC Fri Oct 14 19:28:18 +0000 2016\n",
- "Manhattan, NY Fri Oct 14 15:23:38 +0000 2016\n",
- "Kentucky, USA Fri Oct 14 01:18:07 +0000 2016\n",
- "Cincinnati, OH Thu Oct 13 23:53:56 +0000 2016\n",
- "United States Thu Oct 13 23:28:02 +0000 2016\n",
- "Columbus, OH Thu Oct 13 22:14:56 +0000 2016\n",
- "Florida, USA Thu Oct 13 15:28:34 +0000 2016\n",
- "Florida, USA Thu Oct 13 15:27:27 +0000 2016\n",
- "Florida, USA Thu Oct 13 13:52:14 +0000 2016\n",
- "Florida, USA Wed Oct 12 22:59:48 +0000 2016\n",
- "Florida, USA Wed Oct 12 14:00:48 +0000 2016\n",
- "United States Wed Oct 12 13:46:43 +0000 2016\n",
- "Florida, USA Wed Oct 12 04:04:47 +0000 2016\n",
- "Florida, USA Wed Oct 12 00:56:06 +0000 2016\n",
- "Texas, USA Tue Oct 11 21:35:41 +0000 2016\n",
- "Dallas, TX Tue Oct 11 20:56:33 +0000 2016\n",
- "United States Tue Oct 11 18:43:35 +0000 2016\n",
- "United States Tue Oct 11 18:29:59 +0000 2016\n",
- "United States Tue Oct 11 15:25:11 +0000 2016\n",
- "Queens, NY Tue Oct 11 14:15:10 +0000 2016\n",
- "Pennsylvania, USA Tue Oct 11 01:33:32 +0000 2016\n",
- "Wilkes-Barre, PA Mon Oct 10 22:31:52 +0000 2016\n",
- "United States Mon Oct 10 19:22:56 +0000 2016\n",
- "United States Mon Oct 10 19:14:00 +0000 2016\n",
- "University City, MO Mon Oct 10 02:31:41 +0000 2016\n",
- "Manhattan, NY Mon Oct 10 02:20:35 +0000 2016\n",
- "Manhattan, NY Mon Oct 10 02:11:26 +0000 2016\n",
- "Manhattan, NY Mon Oct 10 02:09:51 +0000 2016\n",
- "Manhattan, NY Mon Oct 10 02:07:58 +0000 2016\n",
- "Manhattan, NY Mon Oct 10 02:06:41 +0000 2016\n",
- "University City, MO Mon Oct 10 01:57:38 +0000 2016\n",
- "University City, MO Mon Oct 10 01:51:33 +0000 2016\n",
- "University City, MO Mon Oct 10 01:48:19 +0000 2016\n",
- "University City, MO Mon Oct 10 01:45:16 +0000 2016\n",
- "University City, MO Mon Oct 10 01:43:04 +0000 2016\n",
- "University City, MO Mon Oct 10 01:37:50 +0000 2016\n",
- "University City, MO Mon Oct 10 01:32:10 +0000 2016\n",
- "University City, MO Mon Oct 10 01:29:45 +0000 2016\n",
- "University City, MO Mon Oct 10 01:27:04 +0000 2016\n",
- "University City, MO Mon Oct 10 01:24:47 +0000 2016\n",
- "St Louis, MO Mon Oct 10 00:24:46 +0000 2016\n",
- "New York, NY Sun Oct 09 16:02:35 +0000 2016\n",
- "United States Sat Oct 08 04:19:43 +0000 2016\n",
- "United States Thu Oct 06 04:24:43 +0000 2016\n",
- "United States Thu Oct 06 04:08:23 +0000 2016\n",
- "United States Thu Oct 06 04:02:19 +0000 2016\n",
- "United States Thu Oct 06 01:53:05 +0000 2016\n",
- "United States Thu Oct 06 01:32:48 +0000 2016\n",
- "Nevada, USA Thu Oct 06 01:15:20 +0000 2016\n",
- "Reno, NV Wed Oct 05 23:19:43 +0000 2016\n",
- "Reno, NV Wed Oct 05 22:59:52 +0000 2016\n",
- "Reno, NV Wed Oct 05 22:57:42 +0000 2016\n",
- "Nevada, USA Wed Oct 05 22:02:58 +0000 2016\n",
- "Nevada, USA Wed Oct 05 21:22:52 +0000 2016\n",
- "Nevada, USA Wed Oct 05 21:19:48 +0000 2016\n",
- "Las Vegas, NV Wed Oct 05 21:11:34 +0000 2016\n",
- "Henderson Pavilion Wed Oct 05 18:53:09 +0000 2016\n",
- "Nevada, USA Wed Oct 05 18:40:17 +0000 2016\n",
- "Nevada, USA Wed Oct 05 02:26:41 +0000 2016\n",
- "Nevada, USA Wed Oct 05 02:22:24 +0000 2016\n",
- "Nevada, USA Wed Oct 05 02:19:54 +0000 2016\n",
- "Nevada, USA Wed Oct 05 02:16:15 +0000 2016\n",
- "Nevada, USA Wed Oct 05 02:15:21 +0000 2016\n",
- "Nevada, USA Wed Oct 05 02:13:40 +0000 2016\n",
- "Nevada, USA Wed Oct 05 02:12:23 +0000 2016\n",
- "Nevada, USA Wed Oct 05 02:09:58 +0000 2016\n",
- "Nevada, USA Wed Oct 05 02:05:58 +0000 2016\n",
- "Nevada, USA Wed Oct 05 01:54:08 +0000 2016\n",
- "Nevada, USA Wed Oct 05 01:52:36 +0000 2016\n",
- "Nevada, USA Wed Oct 05 01:46:08 +0000 2016\n",
- "Nevada, USA Wed Oct 05 01:06:02 +0000 2016\n",
- "United States Tue Oct 04 23:44:28 +0000 2016\n",
- "Arizona, USA Tue Oct 04 22:38:18 +0000 2016\n",
- "Arizona, USA Tue Oct 04 19:48:15 +0000 2016\n",
- "Arizona, USA Tue Oct 04 19:40:44 +0000 2016\n",
- "Arizona, USA Tue Oct 04 19:36:19 +0000 2016\n",
- "Denver, CO Tue Oct 04 02:20:21 +0000 2016\n",
- "Pueblo, CO Mon Oct 03 22:03:46 +0000 2016\n",
- "Pueblo, CO Mon Oct 03 21:41:35 +0000 2016\n",
- "New Jersey, USA Sat Oct 01 20:47:45 +0000 2016\n",
- "Michigan, USA Sat Oct 01 00:52:15 +0000 2016\n",
- "Michigan, USA Fri Sep 30 23:01:50 +0000 2016\n",
- "Michigan, USA Fri Sep 30 20:10:54 +0000 2016\n",
- "Michigan, USA Fri Sep 30 20:03:41 +0000 2016\n",
- "United States Thu Sep 29 22:17:55 +0000 2016\n",
- "Queens, NY Thu Sep 29 18:05:56 +0000 2016\n",
- "Waukesha County Airport (UES) Thu Sep 29 02:51:57 +0000 2016\n",
- "Waukesha, WI Thu Sep 29 00:01:35 +0000 2016\n",
- "Wisconsin, USA Wed Sep 28 23:54:08 +0000 2016\n",
- "Chicago, IL Wed Sep 28 17:40:10 +0000 2016\n",
- "Orlando Sanford International Airport (SFB) Wed Sep 28 01:03:03 +0000 2016\n",
- "Queens, NY Tue Sep 27 12:53:42 +0000 2016\n",
- "Manhattan, NY Tue Sep 27 06:32:29 +0000 2016\n",
- "Manhattan, NY Tue Sep 27 05:54:42 +0000 2016\n",
- "Manhattan, NY Tue Sep 27 05:44:02 +0000 2016\n",
- "Manhattan, NY Tue Sep 27 05:36:33 +0000 2016\n",
- "Hofstra University Tue Sep 27 02:36:11 +0000 2016\n",
- "Hofstra University Tue Sep 27 02:26:13 +0000 2016\n",
- "Hofstra University Tue Sep 27 02:19:47 +0000 2016\n",
- "East Garden City, NY Tue Sep 27 01:33:59 +0000 2016\n",
- "Hofstra University Tue Sep 27 01:32:25 +0000 2016\n",
- "Hofstra University Tue Sep 27 01:28:04 +0000 2016\n",
- "Virginia, USA Sat Sep 24 23:39:02 +0000 2016\n",
- "Toledo, OH Wed Sep 21 21:02:56 +0000 2016\n",
- "High Point, NC Tue Sep 20 20:33:08 +0000 2016\n",
- "United States Tue Sep 20 00:19:00 +0000 2016\n",
- "Oklahoma, USA Sat Sep 17 23:14:58 +0000 2016\n",
- "Houston, TX Sat Sep 17 05:15:44 +0000 2016\n",
- "Houston, TX Sat Sep 17 04:43:14 +0000 2016\n",
- "Houston, TX Sat Sep 17 04:15:53 +0000 2016\n",
- "District of Columbia, USA Fri Sep 16 17:58:14 +0000 2016\n",
- "NBC Studio Tour Thu Sep 15 22:41:13 +0000 2016\n",
- "Ohio, USA Thu Sep 15 00:57:20 +0000 2016\n",
- "Ohio, USA Wed Sep 14 21:24:01 +0000 2016\n",
- "United States Tue Sep 13 22:09:30 +0000 2016\n",
- "Clive, IA Tue Sep 13 19:40:53 +0000 2016\n",
- "Queens, NY Tue Sep 13 00:35:11 +0000 2016\n",
- "Philadelphia, PA Wed Sep 07 15:11:59 +0000 2016\n",
- "United States Wed Sep 07 01:20:48 +0000 2016\n",
- "North Carolina, USA Wed Sep 07 00:32:58 +0000 2016\n",
- "Virginia Beach, VA Tue Sep 06 22:09:01 +0000 2016\n",
- "United States Mon Sep 05 18:26:10 +0000 2016\n",
- "Brook Park, OH Mon Sep 05 16:55:19 +0000 2016\n",
- "Detroit, MI Sat Sep 03 17:27:53 +0000 2016\n",
- "Ohio, USA Thu Sep 01 17:05:25 +0000 2016\n",
- "Ohio, USA Thu Sep 01 14:22:26 +0000 2016\n",
- "Phoenix, AZ Thu Sep 01 00:40:07 +0000 2016\n",
- "Washington, USA Wed Aug 31 03:56:43 +0000 2016\n",
- "Beverly Hills, CA Tue Aug 30 10:27:21 +0000 2016\n",
- "United States Tue Aug 30 00:27:21 +0000 2016\n",
- "Des Moines, IA Sat Aug 27 21:27:08 +0000 2016\n",
- "Des Moines, IA Sat Aug 27 18:47:50 +0000 2016\n",
- "Nevada, USA Sat Aug 27 00:32:59 +0000 2016\n",
- "United States Fri Aug 26 02:58:51 +0000 2016\n",
- "Jackson, MS Thu Aug 25 00:05:24 +0000 2016\n",
- "Florida, USA Wed Aug 24 17:24:13 +0000 2016\n",
- "Miami, FL Wed Aug 24 14:01:46 +0000 2016\n",
- "Austin, TX Wed Aug 24 00:13:49 +0000 2016\n",
- "Austin, TX Tue Aug 23 21:21:59 +0000 2016\n",
- "Texas, USA Tue Aug 23 16:37:38 +0000 2016\n",
- "Akron, OH Mon Aug 22 21:06:42 +0000 2016\n",
- "Virginia, USA Sat Aug 20 23:11:51 +0000 2016\n",
- "Fredericksburg, VA Sat Aug 20 23:04:02 +0000 2016\n",
- "Michigan, USA Fri Aug 19 22:16:16 +0000 2016\n",
- "Manhattan, NY Wed Aug 17 20:05:08 +0000 2016\n",
- "Milwaukee, WI Tue Aug 16 19:22:57 +0000 2016\n",
- "Pennsylvania, USA Sat Aug 13 00:17:38 +0000 2016\n",
- "Erie, PA Fri Aug 12 19:48:18 +0000 2016\n",
- "Florida, USA Thu Aug 11 02:12:01 +0000 2016\n",
- "United States Wed Aug 10 21:07:01 +0000 2016\n",
- "United States Wed Aug 10 20:49:33 +0000 2016\n",
- "Peterbilt Wed Aug 10 17:54:53 +0000 2016\n",
- "Raleigh, NC Wed Aug 10 01:11:39 +0000 2016\n",
- "Manhattan, NY Wed Aug 10 00:18:46 +0000 2016\n",
- "Manhattan, NY Wed Aug 10 00:17:28 +0000 2016\n",
- "North Carolina, USA Tue Aug 09 21:07:38 +0000 2016\n",
- "United States Mon Aug 08 22:43:56 +0000 2016\n",
- "United States Mon Aug 08 22:15:44 +0000 2016\n",
- "United States Mon Aug 08 22:12:21 +0000 2016\n",
- "United States Mon Aug 08 22:06:25 +0000 2016\n",
- "Windham, NH Sun Aug 07 02:19:37 +0000 2016\n",
- "Maine, USA Thu Aug 04 19:23:41 +0000 2016\n",
- "Maine, USA Thu Aug 04 19:16:00 +0000 2016\n",
- "Florida, USA Thu Aug 04 02:27:52 +0000 2016\n",
- "Florida, USA Wed Aug 03 23:10:41 +0000 2016\n",
- "Florida, USA Wed Aug 03 22:10:11 +0000 2016\n",
- "Daytona Beach, FL Wed Aug 03 21:57:07 +0000 2016\n",
- "Virginia, USA Tue Aug 02 16:57:16 +0000 2016\n",
- "Columbus, OH Mon Aug 01 20:42:50 +0000 2016\n",
- "New Jersey, USA Sun Jul 31 12:57:21 +0000 2016\n",
- "New Jersey, USA Sun Jul 31 03:32:40 +0000 2016\n",
- "New Jersey, USA Sat Jul 30 23:00:07 +0000 2016\n",
- "Colorado, USA Sat Jul 30 03:22:57 +0000 2016\n",
- "Denver, CO Sat Jul 30 01:01:43 +0000 2016\n",
- "Denver, CO Sat Jul 30 00:57:57 +0000 2016\n",
- "Colorado, USA Sat Jul 30 00:34:52 +0000 2016\n",
- "Colorado Springs, CO Fri Jul 29 22:25:29 +0000 2016\n",
- "Colorado Springs, CO Fri Jul 29 20:04:03 +0000 2016\n",
- "Colorado Springs, CO Fri Jul 29 18:10:58 +0000 2016\n",
- "Colorado Springs, CO Fri Jul 29 17:53:47 +0000 2016\n",
- "Colorado Springs, CO Fri Jul 29 16:59:58 +0000 2016\n",
- "Cedar Rapids, IA Fri Jul 29 02:26:27 +0000 2016\n",
- "Iowa, USA Thu Jul 28 23:13:55 +0000 2016\n",
- "Davenport, IA Thu Jul 28 21:38:12 +0000 2016\n",
- "Iowa, USA Thu Jul 28 21:08:32 +0000 2016\n",
- "Roanoke, VA Mon Jul 25 21:25:50 +0000 2016\n",
- "Roanoke, VA Mon Jul 25 18:57:06 +0000 2016\n",
- "LaGuardia Airport, Queens Mon Jul 25 16:46:33 +0000 2016\n",
- "Quicken Loans Fri Jul 22 05:11:10 +0000 2016\n",
- "Quicken Loans Arena Fri Jul 22 04:01:07 +0000 2016\n",
- "Cleveland, OH Thu Jul 21 17:00:24 +0000 2016\n",
- "Cleveland, OH Thu Jul 21 04:00:25 +0000 2016\n",
- "Cleveland, OH Thu Jul 21 02:35:23 +0000 2016\n",
- "Cleveland, OH Wed Jul 20 23:49:18 +0000 2016\n",
- "Cleveland, OH Tue Jul 19 00:21:49 +0000 2016\n",
- "Indianapolis, IN Wed Jul 13 03:08:58 +0000 2016\n",
- "Manhattan, NY Thu Jul 07 20:04:58 +0000 2016\n",
- "Colorado, USA Fri Jul 01 19:47:04 +0000 2016\n",
- "Scotland, United Kingdom Sat Jun 25 16:00:18 +0000 2016\n",
- "Aberdeen, Scotland Sat Jun 25 15:07:32 +0000 2016\n",
- "Aberdeen, Scotland Sat Jun 25 14:55:11 +0000 2016\n",
- "Turnberry, Scotland Fri Jun 24 10:32:00 +0000 2016\n",
- "Turnberry, Scotland Fri Jun 24 10:30:31 +0000 2016\n",
- "Turnberry, Scotland Fri Jun 24 09:28:49 +0000 2016\n",
- "United States Sun Jun 19 03:01:15 +0000 2016\n",
- "United States Sun Jun 19 02:57:51 +0000 2016\n",
- "Phoenix, AZ Sun Jun 19 01:10:55 +0000 2016\n",
- "Cirque du Soleil - Mystere At Treasure Island Sat Jun 18 20:08:18 +0000 2016\n",
- "Nevada, USA Sat Jun 18 19:39:17 +0000 2016\n",
- "Houston, TX Sat Jun 18 02:44:21 +0000 2016\n",
- "Houston, TX Fri Jun 17 23:56:54 +0000 2016\n",
- "Houston, TX Fri Jun 17 23:55:29 +0000 2016\n",
- "Houston, TX Fri Jun 17 23:51:43 +0000 2016\n",
- "Dallas, TX Fri Jun 17 02:16:21 +0000 2016\n",
- "Saint Anselm College Mon Jun 13 19:26:07 +0000 2016\n",
- "United States Fri May 20 16:11:21 +0000 2016\n",
- "United States Fri May 20 16:09:16 +0000 2016\n",
- "New York, NY Fri May 20 15:15:08 +0000 2016\n",
- "South Bend, IN Tue May 03 02:11:22 +0000 2016\n",
- "Indianapolis, IN Mon May 02 21:50:17 +0000 2016\n",
- "Carmel, IN Mon May 02 21:42:54 +0000 2016\n",
- "Indianapolis, IN Mon May 02 16:16:14 +0000 2016\n",
- "Indiana, USA Sun May 01 21:31:05 +0000 2016\n",
- "California, USA Fri Apr 29 04:24:09 +0000 2016\n",
- "Indianapolis, IN Wed Apr 27 22:14:51 +0000 2016\n",
- "Manhattan, NY Wed Apr 27 01:02:47 +0000 2016\n",
- "Trump Tower Wed Apr 27 00:28:31 +0000 2016\n",
- "Trump Tower Wed Apr 27 00:18:57 +0000 2016\n",
- "Trump Tower Wed Apr 27 00:14:19 +0000 2016\n",
- "Trump Tower Wed Apr 27 00:08:20 +0000 2016\n",
- "LaGuardia Airport, Queens Wed Apr 20 15:03:10 +0000 2016\n",
- "Trump Tower Wed Apr 20 01:08:36 +0000 2016\n",
- "Manhattan, NY Tue Apr 19 22:00:15 +0000 2016\n",
- "Manhattan, NY Tue Apr 19 19:46:32 +0000 2016\n",
- "Manhattan, NY Tue Apr 19 03:25:06 +0000 2016\n",
- "Milwaukee, WI Tue Apr 05 12:00:35 +0000 2016\n",
- "Milwaukee, WI Tue Apr 05 03:29:30 +0000 2016\n",
- "Milwaukee, WI Tue Apr 05 01:14:09 +0000 2016\n",
- "Superior, WI Mon Apr 04 21:07:04 +0000 2016\n",
- "Wisconsin, USA Mon Apr 04 18:03:52 +0000 2016\n",
- "La Crosse, WI Mon Apr 04 16:34:21 +0000 2016\n",
- "La Crosse, WI Mon Apr 04 14:57:15 +0000 2016\n",
- "Milwaukee, WI Sun Apr 03 18:05:32 +0000 2016\n",
- "Milwaukee, WI Sun Apr 03 17:48:16 +0000 2016\n",
- "Milwaukee, WI Sun Apr 03 13:46:39 +0000 2016\n",
- "Milwaukee, WI Sun Apr 03 03:09:48 +0000 2016\n",
- "Eau Claire, WI Sat Apr 02 23:51:08 +0000 2016\n",
- "United States Sun Mar 20 03:06:21 +0000 2016\n",
- "United States Sun Mar 20 00:48:06 +0000 2016\n",
- "United States Sun Mar 20 00:31:50 +0000 2016\n",
- "Phoenix, AZ Sat Mar 19 15:50:59 +0000 2016\n",
- "Phoenix, AZ Sat Mar 19 15:40:55 +0000 2016\n",
- "Queens, NY Wed Mar 16 05:50:49 +0000 2016\n",
- "Queens, NY Wed Mar 16 05:35:00 +0000 2016\n",
- "The Mar-a-lago Club Wed Mar 16 02:33:54 +0000 2016\n",
- "Palm Beach, FL Wed Mar 16 01:48:52 +0000 2016\n",
- "Palm Beach, FL Wed Mar 16 01:33:57 +0000 2016\n",
- "Palm Beach, FL Wed Mar 16 00:05:34 +0000 2016\n",
- "Palm Beach, FL Wed Mar 16 00:05:11 +0000 2016\n",
- "Florida, USA Tue Mar 15 13:43:25 +0000 2016\n",
- "Chicago, IL Sat Mar 12 14:55:15 +0000 2016\n",
- "Chicago, IL Sat Mar 12 14:54:27 +0000 2016\n",
- "Jupiter, FL Wed Mar 09 03:58:28 +0000 2016\n",
- "Jupiter, FL Wed Mar 09 02:02:25 +0000 2016\n",
- "Jupiter, FL Wed Mar 09 01:28:43 +0000 2016\n",
- "Portland, ME Thu Mar 03 20:14:34 +0000 2016\n",
- "Louisville, KY Tue Mar 01 22:18:29 +0000 2016\n",
- "Regent University Wed Feb 24 17:14:20 +0000 2016\n",
- "Nevada, USA Wed Feb 24 06:25:53 +0000 2016\n",
- "Nevada, USA Wed Feb 24 05:41:02 +0000 2016\n",
- "Nevada, USA Tue Feb 23 16:46:06 +0000 2016\n",
- "Nevada, USA Tue Feb 23 05:19:29 +0000 2016\n",
- "Nevada, USA Tue Feb 23 01:44:02 +0000 2016\n",
- "Nevada, USA Tue Feb 23 01:34:44 +0000 2016\n",
- "Nevada, USA Tue Feb 23 01:29:26 +0000 2016\n",
- "Nevada, USA Tue Feb 23 01:24:27 +0000 2016\n",
- "Nevada, USA Tue Feb 23 00:19:37 +0000 2016\n"
- ]
- }
- ],
- "source": [
- "def print_campaign_trail(username):\n",
- " for tweet in tweepy.Cursor(api.user_timeline, id=username).items():\n",
- " if tweet._json['place'] != None:\n",
- " print(tweet._json['place']['full_name'] + \" \" + tweet._json['created_at'])\n",
- "\n",
- "print_campaign_trail('realDonaldTrump')"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 31,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "def get_locations_and_dates(username):\n",
- " locations_and_dates = []\n",
- " for tweet in tweepy.Cursor(api.user_timeline, id=username).items():\n",
- " if tweet._json['place'] != None:\n",
- " inner_list = []\n",
- " inner_list.append(tweet._json['place']['full_name'])\n",
- " inner_list.append(tweet._json['created_at'])\n",
- " locations_and_dates.append(inner_list)\n",
- " return locations_and_dates\n",
- "out = get_locations('realDonaldTrump')"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 30,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[['Wilkes-Barre/Scranton International Airport (AVP)', 'Tue Nov 08 00:17:57 +0000 2016'], ['Wilkes-Barre/Scranton International Airport (AVP)', 'Tue Nov 08 00:16:15 +0000 2016'], ['Scranton, PA', 'Tue Nov 08 00:08:28 +0000 2016'], ['Raleigh, NC', 'Mon Nov 07 21:37:25 +0000 2016'], ['Raleigh, NC', 'Mon Nov 07 21:35:14 +0000 2016'], ['Raleigh, NC', 'Mon Nov 07 21:32:26 +0000 2016'], ['North Carolina, USA', 'Mon Nov 07 21:03:13 +0000 2016'], ['Raleigh, NC', 'Mon Nov 07 19:31:54 +0000 2016'], ['North Carolina, USA', 'Mon Nov 07 19:30:12 +0000 2016'], ['Sarasota-Bradenton International Airport (SRQ)', 'Mon Nov 07 17:10:20 +0000 2016'], ['Virginia, USA', 'Mon Nov 07 06:35:39 +0000 2016'], ['Michigan, USA', 'Mon Nov 07 01:52:18 +0000 2016'], ['Michigan, USA', 'Mon Nov 07 00:09:41 +0000 2016'], ['Romulus, MI', 'Sun Nov 06 23:08:58 +0000 2016'], ['Sioux City Gateway Airport (SUX)', 'Sun Nov 06 19:26:58 +0000 2016'], ['Colorado, USA', 'Sun Nov 06 06:08:32 +0000 2016'], ['Reno, NV', 'Sun Nov 06 02:03:20 +0000 2016'], ['Reno, NV', 'Sun Nov 06 00:20:16 +0000 2016'], ['Reno, NV', 'Sun Nov 06 00:19:18 +0000 2016'], ['Hershey, PA', 'Fri Nov 04 23:57:37 +0000 2016'], ['Hershey, PA', 'Fri Nov 04 23:50:57 +0000 2016'], ['Wilmington, OH', 'Fri Nov 04 20:33:12 +0000 2016'], ['Manchester, NH', 'Fri Nov 04 18:46:42 +0000 2016'], ['Manchester, NH', 'Fri Nov 04 16:28:36 +0000 2016'], ['Manchester, NH', 'Fri Nov 04 16:17:22 +0000 2016'], ['Concord, NC', 'Thu Nov 03 20:55:36 +0000 2016'], ['Concord, NC', 'Thu Nov 03 20:52:52 +0000 2016'], ['Florida, USA', 'Thu Nov 03 03:55:49 +0000 2016'], ['Pensacola, FL', 'Wed Nov 02 23:34:23 +0000 2016'], ['Orlando, FL', 'Wed Nov 02 21:30:24 +0000 2016'], ['Orlando, FL', 'Wed Nov 02 19:09:28 +0000 2016'], ['Orlando, FL', 'Wed Nov 02 18:58:34 +0000 2016'], ['Orlando, FL', 'Wed Nov 02 18:57:07 +0000 2016'], ['Miami, FL', 'Wed Nov 02 17:15:30 +0000 2016'], ['Eau Claire, WI', 'Wed Nov 02 00:32:51 +0000 2016'], ['Eau Claire, WI', 'Tue Nov 01 21:57:54 +0000 2016'], ['Eau Claire, WI', 'Tue Nov 01 21:46:18 +0000 2016'], ['Eau Claire, WI', 'Tue Nov 01 21:28:55 +0000 2016'], ['Eau Claire, WI', 'Tue Nov 01 21:20:04 +0000 2016'], ['Eau Claire, WI', 'Tue Nov 01 21:16:57 +0000 2016'], ['Eau Claire, WI', 'Tue Nov 01 21:15:42 +0000 2016'], ['Warren, MI', 'Mon Oct 31 20:49:56 +0000 2016'], ['Michigan, USA', 'Mon Oct 31 19:08:25 +0000 2016'], ['Michigan, USA', 'Mon Oct 31 19:00:42 +0000 2016'], ['Michigan, USA', 'Mon Oct 31 16:38:13 +0000 2016'], ['Chicago, IL', 'Mon Oct 31 16:00:19 +0000 2016'], ['Greeley, CO', 'Sun Oct 30 23:19:09 +0000 2016'], ['Sands Convention Center', 'Sun Oct 30 19:05:31 +0000 2016'], ['Nevada, USA', 'Sun Oct 30 17:58:52 +0000 2016'], ['Colorado, USA', 'Sat Oct 29 20:02:16 +0000 2016'], ['Colorado, USA', 'Sat Oct 29 19:56:49 +0000 2016'], ['Golden, CO', 'Sat Oct 29 17:02:04 +0000 2016'], ['Golden, CO', 'Sat Oct 29 16:54:54 +0000 2016'], ['Manchester, NH', 'Fri Oct 28 19:20:22 +0000 2016'], ['Manchester, NH', 'Fri Oct 28 17:24:08 +0000 2016'], ['Manhattan, NY', 'Fri Oct 28 15:39:01 +0000 2016'], ['Geneva, OH', 'Fri Oct 28 01:47:08 +0000 2016'], ['Ohio, USA', 'Fri Oct 28 00:14:46 +0000 2016'], ['Ohio, USA', 'Thu Oct 27 22:37:22 +0000 2016'], ['Toledo, OH', 'Thu Oct 27 22:05:00 +0000 2016'], ['Toledo, OH', 'Thu Oct 27 21:07:48 +0000 2016'], ['Toledo, OH', 'Thu Oct 27 21:02:09 +0000 2016'], ['Springfield, Ohio', 'Thu Oct 27 19:26:05 +0000 2016'], ['Ohio, USA', 'Thu Oct 27 17:45:20 +0000 2016'], ['Manhattan, NY', 'Thu Oct 27 14:49:59 +0000 2016'], ['Queens, NY', 'Thu Oct 27 14:44:46 +0000 2016'], ['Manhattan, NY', 'Thu Oct 27 14:32:59 +0000 2016'], ['Manhattan, NY', 'Thu Oct 27 14:10:38 +0000 2016'], ['Manhattan, NY', 'Thu Oct 27 14:08:15 +0000 2016'], ['Charlotte, NC', 'Wed Oct 26 21:59:15 +0000 2016'], ['Ronald Reagan Washington National Airport (DCA)', 'Wed Oct 26 18:49:49 +0000 2016'], ['Tallahassee, FL', 'Tue Oct 25 23:31:58 +0000 2016'], ['Sanford, FL', 'Tue Oct 25 22:28:43 +0000 2016'], ['Tallahassee, FL', 'Tue Oct 25 22:01:50 +0000 2016'], ['Tallahassee, FL', 'Tue Oct 25 21:54:05 +0000 2016'], ['Florida, USA', 'Tue Oct 25 21:36:51 +0000 2016'], ['Sanford, FL', 'Tue Oct 25 21:03:40 +0000 2016'], ['Sanford, FL', 'Tue Oct 25 20:43:45 +0000 2016'], ['Miami, FL', 'Tue Oct 25 18:27:06 +0000 2016'], ['Doral, FL', 'Tue Oct 25 16:20:43 +0000 2016'], ['Doral, FL', 'Tue Oct 25 16:10:59 +0000 2016'], ['Doral, FL', 'Tue Oct 25 15:22:35 +0000 2016'], ['Doral, FL', 'Tue Oct 25 15:21:37 +0000 2016'], ['Doral, FL', 'Tue Oct 25 15:20:18 +0000 2016'], ['Doral, FL', 'Tue Oct 25 14:44:51 +0000 2016'], ['Doral, FL', 'Tue Oct 25 14:39:09 +0000 2016'], ['Doral, FL', 'Tue Oct 25 14:33:57 +0000 2016'], ['Doral, FL', 'Tue Oct 25 14:31:19 +0000 2016'], ['Florida, USA', 'Tue Oct 25 01:43:26 +0000 2016'], ['Florida, USA', 'Tue Oct 25 01:27:16 +0000 2016'], ['Tampa, FL', 'Tue Oct 25 00:33:07 +0000 2016'], ['Tampa, FL', 'Mon Oct 24 21:52:36 +0000 2016'], ['Tampa, FL', 'Mon Oct 24 21:50:25 +0000 2016'], ['Florida, USA', 'Mon Oct 24 21:15:23 +0000 2016'], ['Northeast Florida Regional Airport / St. Augustine Airport (SGJ)', 'Mon Oct 24 20:39:38 +0000 2016'], ['St. Augustine Amphitheatre', 'Mon Oct 24 19:01:18 +0000 2016'], ['St Augustine, FL', 'Mon Oct 24 18:30:43 +0000 2016'], ['Palm Beach International Airport (PBI)', 'Mon Oct 24 16:37:58 +0000 2016'], ['Palm Beach International Airport (PBI)', 'Mon Oct 24 16:35:59 +0000 2016'], ['Boynton Beach, FL', 'Mon Oct 24 16:04:52 +0000 2016'], ['Boynton Beach, FL', 'Mon Oct 24 15:55:44 +0000 2016'], ['Florida, USA', 'Mon Oct 24 14:46:16 +0000 2016'], ['Florida, USA', 'Mon Oct 24 14:17:35 +0000 2016'], ['Florida, USA', 'Mon Oct 24 13:05:36 +0000 2016'], ['Florida, USA', 'Mon Oct 24 02:25:05 +0000 2016'], ['Florida, USA', 'Mon Oct 24 00:07:47 +0000 2016'], ['Florida, USA', 'Mon Oct 24 00:05:36 +0000 2016'], ['Florida, USA', 'Sun Oct 23 19:08:42 +0000 2016'], ['Florida, USA', 'Sun Oct 23 17:56:43 +0000 2016'], ['Florida, USA', 'Sun Oct 23 16:34:32 +0000 2016'], ['Florida, USA', 'Sun Oct 23 16:30:03 +0000 2016'], ['United States', 'Sun Oct 23 16:23:50 +0000 2016'], ['United States', 'Sun Oct 23 02:26:32 +0000 2016'], ['United States', 'Sun Oct 23 02:21:32 +0000 2016'], ['United States', 'Sun Oct 23 02:05:01 +0000 2016'], ['Cleveland I-X Exhibition and Convention Center', 'Sat Oct 22 23:08:25 +0000 2016'], ['Virginia Beach, VA', 'Sat Oct 22 21:09:56 +0000 2016'], ['Virginia Beach, VA', 'Sat Oct 22 19:54:40 +0000 2016'], ['Pennsylvania, USA', 'Sat Oct 22 18:18:43 +0000 2016'], ['Pennsylvania, USA', 'Sat Oct 22 17:54:11 +0000 2016'], ['Pennsylvania, USA', 'Sat Oct 22 17:49:56 +0000 2016'], ['Newtown, PA', 'Fri Oct 21 22:50:00 +0000 2016'], ['Newtown, PA', 'Fri Oct 21 22:46:37 +0000 2016'], ['Newtown, PA', 'Fri Oct 21 22:36:04 +0000 2016'], ['Pennsylvania, USA', 'Fri Oct 21 22:30:14 +0000 2016'], ['Pennsylvania, USA', 'Fri Oct 21 22:14:47 +0000 2016'], ['Pennsylvania, USA', 'Fri Oct 21 22:10:57 +0000 2016'], ['Cambria County War Memorial', 'Fri Oct 21 21:07:54 +0000 2016'], ['Pennsylvania, USA', 'Fri Oct 21 18:58:20 +0000 2016'], ['Pennsylvania, USA', 'Fri Oct 21 18:54:00 +0000 2016'], ['North Carolina, USA', 'Fri Oct 21 17:43:39 +0000 2016'], ['United States', 'Thu Oct 20 20:30:01 +0000 2016'], ['United States', 'Thu Oct 20 20:26:01 +0000 2016'], ['United States', 'Thu Oct 20 20:06:18 +0000 2016'], ['United States', 'Thu Oct 20 19:51:59 +0000 2016'], ['Delaware County Fairgrounds', 'Thu Oct 20 19:51:39 +0000 2016'], ['Columbus, OH', 'Thu Oct 20 18:25:34 +0000 2016'], ['Delaware County Fairgrounds', 'Thu Oct 20 17:33:10 +0000 2016'], ['Ohio, USA', 'Thu Oct 20 15:52:38 +0000 2016'], ['Columbus, OH', 'Thu Oct 20 13:27:41 +0000 2016'], ['Ohio, USA', 'Thu Oct 20 07:14:05 +0000 2016'], ['United States', 'Thu Oct 20 04:27:27 +0000 2016'], ['United States', 'Thu Oct 20 04:10:06 +0000 2016'], ['Arizona, USA', 'Thu Oct 20 04:06:44 +0000 2016'], ['Nevada, USA', 'Thu Oct 20 02:51:39 +0000 2016'], ['University of Nevada, Las Vegas', 'Thu Oct 20 02:47:21 +0000 2016'], ['University of Nevada, Las Vegas', 'Thu Oct 20 02:34:01 +0000 2016'], ['University of Nevada, Las Vegas', 'Thu Oct 20 02:32:57 +0000 2016'], ['University of Nevada, Las Vegas', 'Thu Oct 20 02:31:07 +0000 2016'], ['University of Nevada, Las Vegas', 'Thu Oct 20 02:29:29 +0000 2016'], ['University of Nevada, Las Vegas', 'Thu Oct 20 02:27:31 +0000 2016'], ['University of Nevada, Las Vegas', 'Thu Oct 20 02:21:19 +0000 2016'], ['University of Nevada, Las Vegas', 'Thu Oct 20 02:16:25 +0000 2016'], ['University of Nevada, Las Vegas', 'Thu Oct 20 02:14:29 +0000 2016'], ['University of Nevada, Las Vegas', 'Thu Oct 20 02:11:33 +0000 2016'], ['Las Vegas, NV', 'Thu Oct 20 01:59:07 +0000 2016'], ['University of Nevada, Las Vegas', 'Thu Oct 20 01:57:00 +0000 2016'], ['University of Nevada, Las Vegas', 'Thu Oct 20 01:55:42 +0000 2016'], ['University of Nevada, Las Vegas', 'Thu Oct 20 01:50:20 +0000 2016'], ['University of Nevada, Las Vegas', 'Thu Oct 20 01:49:00 +0000 2016'], ['University of Nevada, Las Vegas', 'Thu Oct 20 01:46:54 +0000 2016'], ['University of Nevada, Las Vegas', 'Thu Oct 20 01:44:36 +0000 2016'], ['University of Nevada, Las Vegas', 'Thu Oct 20 01:39:40 +0000 2016'], ['University of Nevada, Las Vegas', 'Thu Oct 20 01:37:37 +0000 2016'], ['University of Nevada, Las Vegas', 'Thu Oct 20 01:32:46 +0000 2016'], ['Paradise, NV', 'Thu Oct 20 01:28:41 +0000 2016'], ['University of Nevada, Las Vegas', 'Thu Oct 20 01:18:09 +0000 2016'], ['University of Nevada, Las Vegas', 'Thu Oct 20 00:58:56 +0000 2016'], ['Nevada, USA', 'Wed Oct 19 22:57:24 +0000 2016'], ['Nevada, USA', 'Wed Oct 19 22:16:07 +0000 2016'], ['Nevada, USA', 'Wed Oct 19 22:14:24 +0000 2016'], ['Nevada, USA', 'Wed Oct 19 21:28:45 +0000 2016'], ['Nevada, USA', 'Wed Oct 19 21:26:25 +0000 2016'], ['Nevada, USA', 'Wed Oct 19 21:22:26 +0000 2016'], ['Nevada, USA', 'Wed Oct 19 19:57:03 +0000 2016'], ['Nevada, USA', 'Wed Oct 19 19:31:10 +0000 2016'], ['Nevada, USA', 'Wed Oct 19 19:09:28 +0000 2016'], ['Nevada, USA', 'Wed Oct 19 18:10:41 +0000 2016'], ['Nevada, USA', 'Wed Oct 19 18:06:23 +0000 2016'], ['Nevada, USA', 'Wed Oct 19 18:05:18 +0000 2016'], ['Nevada, USA', 'Wed Oct 19 17:00:22 +0000 2016'], ['Nevada, USA', 'Wed Oct 19 16:57:44 +0000 2016'], ['Nevada, USA', 'Wed Oct 19 15:34:12 +0000 2016'], ['United States', 'Wed Oct 19 01:28:27 +0000 2016'], ['United States', 'Wed Oct 19 01:00:40 +0000 2016'], ['Nevada, USA', 'Wed Oct 19 00:53:43 +0000 2016'], ['United States', 'Wed Oct 19 00:34:21 +0000 2016'], ['United States', 'Wed Oct 19 00:31:25 +0000 2016'], ['Colorado Springs, CO', 'Tue Oct 18 19:53:23 +0000 2016'], ['Colorado Springs, CO', 'Tue Oct 18 18:43:15 +0000 2016'], ['Colorado Springs, CO', 'Tue Oct 18 18:05:45 +0000 2016'], ['Colorado Springs, CO', 'Tue Oct 18 15:36:44 +0000 2016'], ['Colorado Springs, CO', 'Tue Oct 18 15:34:06 +0000 2016'], ['Colorado Springs, CO', 'Tue Oct 18 15:33:18 +0000 2016'], ['Cedar Falls, IA', 'Tue Oct 18 02:07:55 +0000 2016'], ['United States', 'Tue Oct 18 01:43:34 +0000 2016'], ['United States', 'Tue Oct 18 01:42:15 +0000 2016'], ['United States', 'Mon Oct 17 22:51:31 +0000 2016'], ['United States', 'Mon Oct 17 22:46:12 +0000 2016'], ['United States', 'Mon Oct 17 21:44:31 +0000 2016'], ['United States', 'Mon Oct 17 21:38:13 +0000 2016'], ['Manhattan, NY', 'Mon Oct 17 19:11:28 +0000 2016'], ['New York, USA', 'Mon Oct 17 15:20:17 +0000 2016'], ['United States', 'Mon Oct 17 14:58:32 +0000 2016'], ['East Fishkill, NY', 'Sun Oct 16 20:13:36 +0000 2016'], ['United States', 'Sun Oct 16 19:26:11 +0000 2016'], ['United States', 'Sun Oct 16 16:07:58 +0000 2016'], ['United States', 'Sun Oct 16 16:07:08 +0000 2016'], ['United States', 'Sun Oct 16 13:15:03 +0000 2016'], ['United States', 'Sun Oct 16 13:12:17 +0000 2016'], ['United States', 'Sun Oct 16 00:03:33 +0000 2016'], ['United States', 'Sat Oct 15 23:11:27 +0000 2016'], ['Maine, USA', 'Sat Oct 15 18:11:06 +0000 2016'], ['United States', 'Sat Oct 15 15:55:19 +0000 2016'], ['Newington, NH', 'Sat Oct 15 15:52:48 +0000 2016'], ['United States', 'Sat Oct 15 03:05:29 +0000 2016'], ['Charlotte, NC', 'Sat Oct 15 01:14:08 +0000 2016'], ['Greensboro, NC', 'Fri Oct 14 19:28:18 +0000 2016'], ['Manhattan, NY', 'Fri Oct 14 15:23:38 +0000 2016'], ['Kentucky, USA', 'Fri Oct 14 01:18:07 +0000 2016'], ['Cincinnati, OH', 'Thu Oct 13 23:53:56 +0000 2016'], ['United States', 'Thu Oct 13 23:28:02 +0000 2016'], ['Columbus, OH', 'Thu Oct 13 22:14:56 +0000 2016'], ['Florida, USA', 'Thu Oct 13 15:28:34 +0000 2016'], ['Florida, USA', 'Thu Oct 13 15:27:27 +0000 2016'], ['Florida, USA', 'Thu Oct 13 13:52:14 +0000 2016'], ['Florida, USA', 'Wed Oct 12 22:59:48 +0000 2016'], ['Florida, USA', 'Wed Oct 12 14:00:48 +0000 2016'], ['United States', 'Wed Oct 12 13:46:43 +0000 2016'], ['Florida, USA', 'Wed Oct 12 04:04:47 +0000 2016'], ['Florida, USA', 'Wed Oct 12 00:56:06 +0000 2016'], ['Texas, USA', 'Tue Oct 11 21:35:41 +0000 2016'], ['Dallas, TX', 'Tue Oct 11 20:56:33 +0000 2016'], ['United States', 'Tue Oct 11 18:43:35 +0000 2016'], ['United States', 'Tue Oct 11 18:29:59 +0000 2016'], ['United States', 'Tue Oct 11 15:25:11 +0000 2016'], ['Queens, NY', 'Tue Oct 11 14:15:10 +0000 2016'], ['Pennsylvania, USA', 'Tue Oct 11 01:33:32 +0000 2016'], ['Wilkes-Barre, PA', 'Mon Oct 10 22:31:52 +0000 2016'], ['United States', 'Mon Oct 10 19:22:56 +0000 2016'], ['United States', 'Mon Oct 10 19:14:00 +0000 2016'], ['University City, MO', 'Mon Oct 10 02:31:41 +0000 2016'], ['Manhattan, NY', 'Mon Oct 10 02:20:35 +0000 2016'], ['Manhattan, NY', 'Mon Oct 10 02:11:26 +0000 2016'], ['Manhattan, NY', 'Mon Oct 10 02:09:51 +0000 2016'], ['Manhattan, NY', 'Mon Oct 10 02:07:58 +0000 2016'], ['Manhattan, NY', 'Mon Oct 10 02:06:41 +0000 2016'], ['University City, MO', 'Mon Oct 10 01:57:38 +0000 2016'], ['University City, MO', 'Mon Oct 10 01:51:33 +0000 2016'], ['University City, MO', 'Mon Oct 10 01:48:19 +0000 2016'], ['University City, MO', 'Mon Oct 10 01:45:16 +0000 2016'], ['University City, MO', 'Mon Oct 10 01:43:04 +0000 2016'], ['University City, MO', 'Mon Oct 10 01:37:50 +0000 2016'], ['University City, MO', 'Mon Oct 10 01:32:10 +0000 2016'], ['University City, MO', 'Mon Oct 10 01:29:45 +0000 2016'], ['University City, MO', 'Mon Oct 10 01:27:04 +0000 2016'], ['University City, MO', 'Mon Oct 10 01:24:47 +0000 2016'], ['St Louis, MO', 'Mon Oct 10 00:24:46 +0000 2016'], ['New York, NY', 'Sun Oct 09 16:02:35 +0000 2016'], ['United States', 'Sat Oct 08 04:19:43 +0000 2016'], ['United States', 'Thu Oct 06 04:24:43 +0000 2016'], ['United States', 'Thu Oct 06 04:08:23 +0000 2016'], ['United States', 'Thu Oct 06 04:02:19 +0000 2016'], ['United States', 'Thu Oct 06 01:53:05 +0000 2016'], ['United States', 'Thu Oct 06 01:32:48 +0000 2016'], ['Nevada, USA', 'Thu Oct 06 01:15:20 +0000 2016'], ['Reno, NV', 'Wed Oct 05 23:19:43 +0000 2016'], ['Reno, NV', 'Wed Oct 05 22:59:52 +0000 2016'], ['Reno, NV', 'Wed Oct 05 22:57:42 +0000 2016'], ['Nevada, USA', 'Wed Oct 05 22:02:58 +0000 2016'], ['Nevada, USA', 'Wed Oct 05 21:22:52 +0000 2016'], ['Nevada, USA', 'Wed Oct 05 21:19:48 +0000 2016'], ['Las Vegas, NV', 'Wed Oct 05 21:11:34 +0000 2016'], ['Henderson Pavilion', 'Wed Oct 05 18:53:09 +0000 2016'], ['Nevada, USA', 'Wed Oct 05 18:40:17 +0000 2016'], ['Nevada, USA', 'Wed Oct 05 02:26:41 +0000 2016'], ['Nevada, USA', 'Wed Oct 05 02:22:24 +0000 2016'], ['Nevada, USA', 'Wed Oct 05 02:19:54 +0000 2016'], ['Nevada, USA', 'Wed Oct 05 02:16:15 +0000 2016'], ['Nevada, USA', 'Wed Oct 05 02:15:21 +0000 2016'], ['Nevada, USA', 'Wed Oct 05 02:13:40 +0000 2016'], ['Nevada, USA', 'Wed Oct 05 02:12:23 +0000 2016'], ['Nevada, USA', 'Wed Oct 05 02:09:58 +0000 2016'], ['Nevada, USA', 'Wed Oct 05 02:05:58 +0000 2016'], ['Nevada, USA', 'Wed Oct 05 01:54:08 +0000 2016'], ['Nevada, USA', 'Wed Oct 05 01:52:36 +0000 2016'], ['Nevada, USA', 'Wed Oct 05 01:46:08 +0000 2016'], ['Nevada, USA', 'Wed Oct 05 01:06:02 +0000 2016'], ['United States', 'Tue Oct 04 23:44:28 +0000 2016'], ['Arizona, USA', 'Tue Oct 04 22:38:18 +0000 2016'], ['Arizona, USA', 'Tue Oct 04 19:48:15 +0000 2016'], ['Arizona, USA', 'Tue Oct 04 19:40:44 +0000 2016'], ['Arizona, USA', 'Tue Oct 04 19:36:19 +0000 2016'], ['Denver, CO', 'Tue Oct 04 02:20:21 +0000 2016'], ['Pueblo, CO', 'Mon Oct 03 22:03:46 +0000 2016'], ['Pueblo, CO', 'Mon Oct 03 21:41:35 +0000 2016'], ['New Jersey, USA', 'Sat Oct 01 20:47:45 +0000 2016'], ['Michigan, USA', 'Sat Oct 01 00:52:15 +0000 2016'], ['Michigan, USA', 'Fri Sep 30 23:01:50 +0000 2016'], ['Michigan, USA', 'Fri Sep 30 20:10:54 +0000 2016'], ['Michigan, USA', 'Fri Sep 30 20:03:41 +0000 2016'], ['United States', 'Thu Sep 29 22:17:55 +0000 2016'], ['Queens, NY', 'Thu Sep 29 18:05:56 +0000 2016'], ['Waukesha County Airport (UES)', 'Thu Sep 29 02:51:57 +0000 2016'], ['Waukesha, WI', 'Thu Sep 29 00:01:35 +0000 2016'], ['Wisconsin, USA', 'Wed Sep 28 23:54:08 +0000 2016'], ['Chicago, IL', 'Wed Sep 28 17:40:10 +0000 2016'], ['Orlando Sanford International Airport (SFB)', 'Wed Sep 28 01:03:03 +0000 2016'], ['Queens, NY', 'Tue Sep 27 12:53:42 +0000 2016'], ['Manhattan, NY', 'Tue Sep 27 06:32:29 +0000 2016'], ['Manhattan, NY', 'Tue Sep 27 05:54:42 +0000 2016'], ['Manhattan, NY', 'Tue Sep 27 05:44:02 +0000 2016'], ['Manhattan, NY', 'Tue Sep 27 05:36:33 +0000 2016'], ['Hofstra University', 'Tue Sep 27 02:36:11 +0000 2016'], ['Hofstra University', 'Tue Sep 27 02:26:13 +0000 2016'], ['Hofstra University', 'Tue Sep 27 02:19:47 +0000 2016'], ['East Garden City, NY', 'Tue Sep 27 01:33:59 +0000 2016'], ['Hofstra University', 'Tue Sep 27 01:32:25 +0000 2016'], ['Hofstra University', 'Tue Sep 27 01:28:04 +0000 2016'], ['Virginia, USA', 'Sat Sep 24 23:39:02 +0000 2016'], ['Toledo, OH', 'Wed Sep 21 21:02:56 +0000 2016'], ['High Point, NC', 'Tue Sep 20 20:33:08 +0000 2016'], ['United States', 'Tue Sep 20 00:19:00 +0000 2016'], ['Oklahoma, USA', 'Sat Sep 17 23:14:58 +0000 2016'], ['Houston, TX', 'Sat Sep 17 05:15:44 +0000 2016'], ['Houston, TX', 'Sat Sep 17 04:43:14 +0000 2016'], ['Houston, TX', 'Sat Sep 17 04:15:53 +0000 2016'], ['District of Columbia, USA', 'Fri Sep 16 17:58:14 +0000 2016'], ['NBC Studio Tour', 'Thu Sep 15 22:41:13 +0000 2016'], ['Ohio, USA', 'Thu Sep 15 00:57:20 +0000 2016'], ['Ohio, USA', 'Wed Sep 14 21:24:01 +0000 2016'], ['United States', 'Tue Sep 13 22:09:30 +0000 2016'], ['Clive, IA', 'Tue Sep 13 19:40:53 +0000 2016'], ['Queens, NY', 'Tue Sep 13 00:35:11 +0000 2016'], ['Philadelphia, PA', 'Wed Sep 07 15:11:59 +0000 2016'], ['United States', 'Wed Sep 07 01:20:48 +0000 2016'], ['North Carolina, USA', 'Wed Sep 07 00:32:58 +0000 2016'], ['Virginia Beach, VA', 'Tue Sep 06 22:09:01 +0000 2016'], ['United States', 'Mon Sep 05 18:26:10 +0000 2016'], ['Brook Park, OH', 'Mon Sep 05 16:55:19 +0000 2016'], ['Detroit, MI', 'Sat Sep 03 17:27:53 +0000 2016'], ['Ohio, USA', 'Thu Sep 01 17:05:25 +0000 2016'], ['Ohio, USA', 'Thu Sep 01 14:22:26 +0000 2016'], ['Phoenix, AZ', 'Thu Sep 01 00:40:07 +0000 2016'], ['Washington, USA', 'Wed Aug 31 03:56:43 +0000 2016'], ['Beverly Hills, CA', 'Tue Aug 30 10:27:21 +0000 2016'], ['United States', 'Tue Aug 30 00:27:21 +0000 2016'], ['Des Moines, IA', 'Sat Aug 27 21:27:08 +0000 2016'], ['Des Moines, IA', 'Sat Aug 27 18:47:50 +0000 2016'], ['Nevada, USA', 'Sat Aug 27 00:32:59 +0000 2016'], ['United States', 'Fri Aug 26 02:58:51 +0000 2016'], ['Jackson, MS', 'Thu Aug 25 00:05:24 +0000 2016'], ['Florida, USA', 'Wed Aug 24 17:24:13 +0000 2016'], ['Miami, FL', 'Wed Aug 24 14:01:46 +0000 2016'], ['Austin, TX', 'Wed Aug 24 00:13:49 +0000 2016'], ['Austin, TX', 'Tue Aug 23 21:21:59 +0000 2016'], ['Texas, USA', 'Tue Aug 23 16:37:38 +0000 2016'], ['Akron, OH', 'Mon Aug 22 21:06:42 +0000 2016'], ['Virginia, USA', 'Sat Aug 20 23:11:51 +0000 2016'], ['Fredericksburg, VA', 'Sat Aug 20 23:04:02 +0000 2016'], ['Michigan, USA', 'Fri Aug 19 22:16:16 +0000 2016'], ['Manhattan, NY', 'Wed Aug 17 20:05:08 +0000 2016'], ['Milwaukee, WI', 'Tue Aug 16 19:22:57 +0000 2016'], ['Pennsylvania, USA', 'Sat Aug 13 00:17:38 +0000 2016'], ['Erie, PA', 'Fri Aug 12 19:48:18 +0000 2016'], ['Florida, USA', 'Thu Aug 11 02:12:01 +0000 2016'], ['United States', 'Wed Aug 10 21:07:01 +0000 2016'], ['United States', 'Wed Aug 10 20:49:33 +0000 2016'], ['Peterbilt', 'Wed Aug 10 17:54:53 +0000 2016'], ['Raleigh, NC', 'Wed Aug 10 01:11:39 +0000 2016'], ['Manhattan, NY', 'Wed Aug 10 00:18:46 +0000 2016'], ['Manhattan, NY', 'Wed Aug 10 00:17:28 +0000 2016'], ['North Carolina, USA', 'Tue Aug 09 21:07:38 +0000 2016'], ['United States', 'Mon Aug 08 22:43:56 +0000 2016'], ['United States', 'Mon Aug 08 22:15:44 +0000 2016'], ['United States', 'Mon Aug 08 22:12:21 +0000 2016'], ['United States', 'Mon Aug 08 22:06:25 +0000 2016'], ['Windham, NH', 'Sun Aug 07 02:19:37 +0000 2016'], ['Maine, USA', 'Thu Aug 04 19:23:41 +0000 2016'], ['Maine, USA', 'Thu Aug 04 19:16:00 +0000 2016'], ['Florida, USA', 'Thu Aug 04 02:27:52 +0000 2016'], ['Florida, USA', 'Wed Aug 03 23:10:41 +0000 2016'], ['Florida, USA', 'Wed Aug 03 22:10:11 +0000 2016'], ['Daytona Beach, FL', 'Wed Aug 03 21:57:07 +0000 2016'], ['Virginia, USA', 'Tue Aug 02 16:57:16 +0000 2016'], ['Columbus, OH', 'Mon Aug 01 20:42:50 +0000 2016'], ['New Jersey, USA', 'Sun Jul 31 12:57:21 +0000 2016'], ['New Jersey, USA', 'Sun Jul 31 03:32:40 +0000 2016'], ['New Jersey, USA', 'Sat Jul 30 23:00:07 +0000 2016'], ['Colorado, USA', 'Sat Jul 30 03:22:57 +0000 2016'], ['Denver, CO', 'Sat Jul 30 01:01:43 +0000 2016'], ['Denver, CO', 'Sat Jul 30 00:57:57 +0000 2016'], ['Colorado, USA', 'Sat Jul 30 00:34:52 +0000 2016'], ['Colorado Springs, CO', 'Fri Jul 29 22:25:29 +0000 2016'], ['Colorado Springs, CO', 'Fri Jul 29 20:04:03 +0000 2016'], ['Colorado Springs, CO', 'Fri Jul 29 18:10:58 +0000 2016'], ['Colorado Springs, CO', 'Fri Jul 29 17:53:47 +0000 2016'], ['Colorado Springs, CO', 'Fri Jul 29 16:59:58 +0000 2016'], ['Cedar Rapids, IA', 'Fri Jul 29 02:26:27 +0000 2016'], ['Iowa, USA', 'Thu Jul 28 23:13:55 +0000 2016'], ['Davenport, IA', 'Thu Jul 28 21:38:12 +0000 2016'], ['Iowa, USA', 'Thu Jul 28 21:08:32 +0000 2016'], ['Roanoke, VA', 'Mon Jul 25 21:25:50 +0000 2016'], ['Roanoke, VA', 'Mon Jul 25 18:57:06 +0000 2016'], ['LaGuardia Airport, Queens', 'Mon Jul 25 16:46:33 +0000 2016'], ['Quicken Loans', 'Fri Jul 22 05:11:10 +0000 2016'], ['Quicken Loans Arena', 'Fri Jul 22 04:01:07 +0000 2016'], ['Cleveland, OH', 'Thu Jul 21 17:00:24 +0000 2016'], ['Cleveland, OH', 'Thu Jul 21 04:00:25 +0000 2016'], ['Cleveland, OH', 'Thu Jul 21 02:35:23 +0000 2016'], ['Cleveland, OH', 'Wed Jul 20 23:49:18 +0000 2016'], ['Cleveland, OH', 'Tue Jul 19 00:21:49 +0000 2016'], ['Indianapolis, IN', 'Wed Jul 13 03:08:58 +0000 2016'], ['Manhattan, NY', 'Thu Jul 07 20:04:58 +0000 2016'], ['Colorado, USA', 'Fri Jul 01 19:47:04 +0000 2016'], ['Scotland, United Kingdom', 'Sat Jun 25 16:00:18 +0000 2016'], ['Aberdeen, Scotland', 'Sat Jun 25 15:07:32 +0000 2016'], ['Aberdeen, Scotland', 'Sat Jun 25 14:55:11 +0000 2016'], ['Turnberry, Scotland', 'Fri Jun 24 10:32:00 +0000 2016'], ['Turnberry, Scotland', 'Fri Jun 24 10:30:31 +0000 2016'], ['Turnberry, Scotland', 'Fri Jun 24 09:28:49 +0000 2016'], ['United States', 'Sun Jun 19 03:01:15 +0000 2016'], ['United States', 'Sun Jun 19 02:57:51 +0000 2016'], ['Phoenix, AZ', 'Sun Jun 19 01:10:55 +0000 2016'], ['Cirque du Soleil - Mystere At Treasure Island', 'Sat Jun 18 20:08:18 +0000 2016'], ['Nevada, USA', 'Sat Jun 18 19:39:17 +0000 2016'], ['Houston, TX', 'Sat Jun 18 02:44:21 +0000 2016'], ['Houston, TX', 'Fri Jun 17 23:56:54 +0000 2016'], ['Houston, TX', 'Fri Jun 17 23:55:29 +0000 2016'], ['Houston, TX', 'Fri Jun 17 23:51:43 +0000 2016'], ['Dallas, TX', 'Fri Jun 17 02:16:21 +0000 2016'], ['Saint Anselm College', 'Mon Jun 13 19:26:07 +0000 2016'], ['United States', 'Fri May 20 16:11:21 +0000 2016'], ['United States', 'Fri May 20 16:09:16 +0000 2016'], ['New York, NY', 'Fri May 20 15:15:08 +0000 2016'], ['South Bend, IN', 'Tue May 03 02:11:22 +0000 2016'], ['Indianapolis, IN', 'Mon May 02 21:50:17 +0000 2016'], ['Carmel, IN', 'Mon May 02 21:42:54 +0000 2016'], ['Indianapolis, IN', 'Mon May 02 16:16:14 +0000 2016'], ['Indiana, USA', 'Sun May 01 21:31:05 +0000 2016'], ['California, USA', 'Fri Apr 29 04:24:09 +0000 2016'], ['Indianapolis, IN', 'Wed Apr 27 22:14:51 +0000 2016'], ['Manhattan, NY', 'Wed Apr 27 01:02:47 +0000 2016'], ['Trump Tower', 'Wed Apr 27 00:28:31 +0000 2016'], ['Trump Tower', 'Wed Apr 27 00:18:57 +0000 2016'], ['Trump Tower', 'Wed Apr 27 00:14:19 +0000 2016'], ['Trump Tower', 'Wed Apr 27 00:08:20 +0000 2016'], ['LaGuardia Airport, Queens', 'Wed Apr 20 15:03:10 +0000 2016'], ['Trump Tower', 'Wed Apr 20 01:08:36 +0000 2016'], ['Manhattan, NY', 'Tue Apr 19 22:00:15 +0000 2016'], ['Manhattan, NY', 'Tue Apr 19 19:46:32 +0000 2016'], ['Manhattan, NY', 'Tue Apr 19 03:25:06 +0000 2016'], ['Milwaukee, WI', 'Tue Apr 05 12:00:35 +0000 2016'], ['Milwaukee, WI', 'Tue Apr 05 03:29:30 +0000 2016'], ['Milwaukee, WI', 'Tue Apr 05 01:14:09 +0000 2016'], ['Superior, WI', 'Mon Apr 04 21:07:04 +0000 2016'], ['Wisconsin, USA', 'Mon Apr 04 18:03:52 +0000 2016'], ['La Crosse, WI', 'Mon Apr 04 16:34:21 +0000 2016'], ['La Crosse, WI', 'Mon Apr 04 14:57:15 +0000 2016'], ['Milwaukee, WI', 'Sun Apr 03 18:05:32 +0000 2016'], ['Milwaukee, WI', 'Sun Apr 03 17:48:16 +0000 2016'], ['Milwaukee, WI', 'Sun Apr 03 13:46:39 +0000 2016'], ['Milwaukee, WI', 'Sun Apr 03 03:09:48 +0000 2016'], ['Eau Claire, WI', 'Sat Apr 02 23:51:08 +0000 2016'], ['United States', 'Sun Mar 20 03:06:21 +0000 2016'], ['United States', 'Sun Mar 20 00:48:06 +0000 2016'], ['United States', 'Sun Mar 20 00:31:50 +0000 2016'], ['Phoenix, AZ', 'Sat Mar 19 15:50:59 +0000 2016'], ['Phoenix, AZ', 'Sat Mar 19 15:40:55 +0000 2016'], ['Queens, NY', 'Wed Mar 16 05:50:49 +0000 2016'], ['Queens, NY', 'Wed Mar 16 05:35:00 +0000 2016'], ['The Mar-a-lago Club', 'Wed Mar 16 02:33:54 +0000 2016'], ['Palm Beach, FL', 'Wed Mar 16 01:48:52 +0000 2016'], ['Palm Beach, FL', 'Wed Mar 16 01:33:57 +0000 2016'], ['Palm Beach, FL', 'Wed Mar 16 00:05:34 +0000 2016'], ['Palm Beach, FL', 'Wed Mar 16 00:05:11 +0000 2016'], ['Florida, USA', 'Tue Mar 15 13:43:25 +0000 2016'], ['Chicago, IL', 'Sat Mar 12 14:55:15 +0000 2016'], ['Chicago, IL', 'Sat Mar 12 14:54:27 +0000 2016'], ['Jupiter, FL', 'Wed Mar 09 03:58:28 +0000 2016'], ['Jupiter, FL', 'Wed Mar 09 02:02:25 +0000 2016'], ['Jupiter, FL', 'Wed Mar 09 01:28:43 +0000 2016'], ['Portland, ME', 'Thu Mar 03 20:14:34 +0000 2016'], ['Louisville, KY', 'Tue Mar 01 22:18:29 +0000 2016'], ['Regent University', 'Wed Feb 24 17:14:20 +0000 2016'], ['Nevada, USA', 'Wed Feb 24 06:25:53 +0000 2016'], ['Nevada, USA', 'Wed Feb 24 05:41:02 +0000 2016'], ['Nevada, USA', 'Tue Feb 23 16:46:06 +0000 2016'], ['Nevada, USA', 'Tue Feb 23 05:19:29 +0000 2016'], ['Nevada, USA', 'Tue Feb 23 01:44:02 +0000 2016'], ['Nevada, USA', 'Tue Feb 23 01:34:44 +0000 2016'], ['Nevada, USA', 'Tue Feb 23 01:29:26 +0000 2016'], ['Nevada, USA', 'Tue Feb 23 01:24:27 +0000 2016'], ['Nevada, USA', 'Tue Feb 23 00:19:37 +0000 2016']]\n"
- ]
- }
- ],
- "source": [
- "print(out)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "print_campaign_trail('HillaryClinton')"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "## Parse according to methods"
- ]
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.4.5"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 0
-}
diff --git a/notebooks/project_2v2.ipynb b/notebooks/project_2v2.ipynb
deleted file mode 100644
index 0e49851..0000000
--- a/notebooks/project_2v2.ipynb
+++ /dev/null
@@ -1,380 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# Project: Part 2"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Today we will continue this semester's project. To download last week's notebook, click [here](https://drive.google.com/open?id=0B3D_PdrFcBfRaG5zcXQyYW1QR1k)."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Reference Bank\n",
- "\n",
- "Other links referenced today:\n",
- "* [538 - Political statistics](http://fivethirtyeight.com/)\n",
- "* [How to apply for Twitter API key](https://apps.twitter.com/)\n",
- "* [Twitter advanced search engine](https://twitter.com/search-advanced?lang=en)\n",
- "* [Tweepy documentation](http://tweepy.readthedocs.io/en/v3.5.0/getting_started.html#api)\n",
- "* [Twitter API documentation](https://dev.twitter.com/rest/reference)\n",
- "\n",
- "**Our Twitter key: Q8kC59z8t8T7CCtIErEGFzAce**"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Today:\n",
- "\n",
- "* Make an API call to gather ____\n",
- "* Review the format of the text, and make a plan to parse it\n",
- "* Organize it into a dictionary\n",
- "\n",
- "Weeks to come:\n",
- "\n",
- "* Review the data collected\n",
- "* Write the dictionary into a CSV file\n",
- "* Plot some significant information using matplotlib\n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Review"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "**Review of function definitions**"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "def function_name(function_parameter1, function_parameter2):\n",
- " # Function body\n",
- " return_value = function_parameter1 * function_parameter2\n",
- " return return_value\n",
- "\n",
- "# After defining, run the function\n",
- "function_name(2, 3)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "**Review of loop structure**"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Iterable types include lists, strings and dictionaries\n",
- "iterable = [1, 2, 3]\n",
- "\n",
- "# Sum list items\n",
- "sum = 0\n",
- "for item in iterable:\n",
- " # Loop body\n",
- " sum += item\n",
- "print(\"Sum of list is \" + str(sum))\n",
- "\n",
- "# Increment list items\n",
- "for index in range(len(iterable)):\n",
- " iterable[index] += 1\n",
- "print(\"Incremented list is \" + str(iterable))\n",
- "\n",
- "# Reverse a string\n",
- "string = \"\"\n",
- "for character in \"Hello world\":\n",
- " string = character + string\n",
- "print(string)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "**Review of string manipulation**"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Get middle characters of a string\n",
- "def return_middle(string):\n",
- " return string[1:-1]\n",
- "print(return_middle(\"abcde\"))\n",
- "\n",
- "# Get all but the last character of a string\n",
- "def all_but_last(string):\n",
- " return string[:-1]\n",
- "print(all_but_last(\"The last character of this string should be a 'w'. wr\"))\n",
- "\n",
- "# Combine all of the strings in a list\n",
- "def make_sentence(list_of_words):\n",
- " sentence = \"\"\n",
- " for word in list_of_words:\n",
- " sentence = sentence + word + \" \"\n",
- " return sentence[:-1]\n",
- "print(make_sentence([\"this\", \"is\", \"a\", \"sentence\"]))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## New String Methods"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "We know how to do basic string indexing at this point, but there are many built-in Python methods that help us handle strings tactfully. Here are some important methods that will be useful as we parse text, with examples.\n",
- "\n",
- "String methods summary from [Google](https://developers.google.com/edu/python/strings) (where s is a string):\n",
- "\n",
- "* *s.lower(), s.upper()*: returns the lowercase or uppercase version of the string\n",
- "* *s.strip()*: returns a string with whitespace removed from the start and end\n",
- "* *s.isalpha()/s.isdigit()/s.isspace()...*: tests if all the string chars are in the various character classes\n",
- "* *s.startswith('other'), s.endswith('other')*: tests if the string starts or ends with the given other string\n",
- "* *s.find('other')*: searches for the given other string (not a regular expression) within s, and returns the first index where it begins or -1 if not found\n",
- "* *s.replace('old', 'new')*: returns a string where all occurrences of 'old' have been replaced by 'new'\n",
- "* *s.split('delim')*: returns a list of substrings separated by the given delimiter. The delimiter is not a regular expression, it's just text. 'aaa,bbb,ccc'.split(',') -> ['aaa', 'bbb', 'ccc']. As a convenient special case s.split() (with no arguments) splits on all whitespace chars.\n",
- "* *s.join(list)*: opposite of split(), joins the elements in the given list together using the string as the delimiter. e.g. '---'.join(['aaa', 'bbb', 'ccc']) -> aaa---bbb---ccc"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Lower/upper, split example\n",
- "def make_name(string):\n",
- " # Split the string into separate words, with space as delimiter\n",
- " words = string.split(' ')\n",
- " # Make dummy string to be returned\n",
- " to_return = \"\"\n",
- " for word in words:\n",
- " # Add the uppercase first letter of each word\n",
- " to_return += word[0].upper()\n",
- " # Add rest of word\n",
- " to_return += word[1:]\n",
- " # Add spaces between words\n",
- " to_return += \" \"\n",
- " # Return string, with last space omitted\n",
- " return to_return[:-1]\n",
- " \n",
- "make_name(\"megan elizabeth carey\")"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Strip example\n",
- "text = \" nonsense at beginning and end should be trimmed \"\n",
- "print(len(text.strip()))\n",
- "print(len(text))"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Startswith/endswith example\n",
- "def check_start_or_end(string, substring):\n",
- " if string.startswith(substring):\n",
- " return True\n",
- " elif string.endswith(substring):\n",
- " return True\n",
- " else:\n",
- " return False\n",
- " \n",
- "print(check_start_or_end(\"megan carey\", \"me\"))\n",
- "print(check_start_or_end(\"megan carey\", \"rey\"))\n",
- "print(check_start_or_end(\"megan carey\", \"hi\"))"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Replace example\n",
- "def find_and_swap(string1, string2, string3):\n",
- " # Find the first index where the second input string occurs\n",
- " first_end = string1.find(string2) + 1\n",
- " # Make one substring up to that point\n",
- " substring1 = string1[:first_end]\n",
- " # Make anotehr substring after that point\n",
- " substring2 = string1[first_end:]\n",
- " # Replace the second input string with the third\n",
- " substring1 = substring1.replace(string2, string3)\n",
- " # Replace the third input string with the second\n",
- " substring2 = substring2.replace(string3, string2)\n",
- " # Concatenate the strings\n",
- " return substring1 + substring2\n",
- "\n",
- "print(find_and_swap(\"Hello there! How's it going?\", \"!\", \"?\"))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Making an API Call"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Now we'll make an API call using Tweepy. First, we create an *api* object using Tweepy:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "import tweepy\n",
- "import json\n",
- "\n",
- "## Our consumer key\n",
- "consumer_key = 'Q8kC59z8t8T7CCtIErEGFzAce'\n",
- "## Our signature, also given upon app creation\n",
- "consumer_secret = '24bbPpWfjjDKpp0DpIhsBj4q8tUhPQ3DoAf2UWFoN4NxIJ19Ja'\n",
- "## Our access token, generated upon request\n",
- "access_token = '719722984693448704-lGVe8IEmjzpd8RZrCBoYSMug5uoqUkP'\n",
- "## Our secret access token, also generated upon request\n",
- "access_token_secret = 'LrdtfdFSKc3gbRFiFNJ1wZXQNYEVlOobsEGffRECWpLNG'\n",
- "\n",
- "## Tweepy authorization commands\n",
- "auth = tweepy.OAuthHandler(consumer_key, consumer_secret)\n",
- "auth.set_access_token(access_token, access_token_secret)\n",
- "api = tweepy.API(auth)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Now let's create a search query. The Tweepy API object has a *search* method that takes in a parameters *q*, which is our search query. The search query is a string that specifies what kind of tweets we want to search for. The documentation for query operators, which define what you'd like to search for, can be found [here]( https://dev.twitter.com/rest/public/search). The Twitter [advanced search engine](https://twitter.com/search-advanced?lang=en) also provides an easy way to build complex queries.\n",
- "\n",
- "For example, if we want to search for tweets about Hillary with the hashtag \"Imwithher\":"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# We first need to create our search query string, using either the query operator documentation, \n",
- "# or the Twitter advanced search enginer:\n",
- "query = \"%20hillary%23imwithher\"\n",
- "\n",
- "# We now use the api object's search method to find the tweets that match the query:\n",
- "results = api.search(query)\n",
- "\n",
- "# Now, let's see the results. The results will be a list of SearchResult objects. Let's look at the first result in the list:\n",
- "print(results[0])"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "collapsed": true
- },
- "source": [
- "That's a lot of information, but notice that the result looks very similiar to a Python dictionary. This is actually a Status object from Tweepy, which functions the same as any other object we've encountered. Each status object has attributes that describe the tweet. Unfortunately, the Tweepy documentation doesn't explain this very well. For a list of available attributes, [click here](http://tkang.blogspot.com/2011/01/tweepy-twitter-api-status-object.html). Try extracting some values from the result:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# For example, if we wanted to search the text of the tweet, we would look at the text attribute:\n",
- "print(results[0].text)\n",
- "\n",
- "# Try looking at some of the other attributes. \n",
- "# Your code here!\n"
- ]
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.4.4"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 0
-}
diff --git a/notebooks/project_3.ipynb b/notebooks/project_3.ipynb
deleted file mode 100644
index 14194ba..0000000
--- a/notebooks/project_3.ipynb
+++ /dev/null
@@ -1,840 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "raw",
- "metadata": {},
- "source": [
- "# Project: Part 3"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Today we will continue this semester's project. To download last week's notebook, click [here](https://drive.google.com/open?id=0B3D_PdrFcBfRQjBfUGZaMFF2Mlk)."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Reference Bank\n",
- "\n",
- "Other links referenced today:\n",
- "* [538 - Political statistics](http://fivethirtyeight.com/)\n",
- "* [How to apply for Twitter API key](https://apps.twitter.com/)\n",
- "* [Twitter advanced search engine](https://twitter.com/search-advanced?lang=en)\n",
- "* [Tweepy documentation](http://tweepy.readthedocs.io/en/v3.5.0/getting_started.html#api)\n",
- "* [Twitter API documentation](https://dev.twitter.com/rest/reference)\n",
- "\n",
- "**Our Twitter key: Q8kC59z8t8T7CCtIErEGFzAce**"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 1,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "## Import required libraries\n",
- "import tweepy\n",
- "import json"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 2,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "## NOTE: Better to use your own keys and tokens!!\n",
- "## Our access key, mentioned above\n",
- "consumer_key = 'Q8kC59z8t8T7CCtIErEGFzAce'\n",
- "## Our signature, also given upon app creation\n",
- "consumer_secret = '24bbPpWfjjDKpp0DpIhsBj4q8tUhPQ3DoAf2UWFoN4NxIJ19Ja'\n",
- "## Our access token, generated upon request\n",
- "access_token = '719722984693448704-lGVe8IEmjzpd8RZrCBoYSMug5uoqUkP'\n",
- "## Our secret access token, also generated upon request\n",
- "access_token_secret = 'LrdtfdFSKc3gbRFiFNJ1wZXQNYEVlOobsEGffRECWpLNG'\n",
- "\n",
- "## Set of Tweepy authorization commands\n",
- "auth = tweepy.OAuthHandler(consumer_key, consumer_secret)\n",
- "auth.set_access_token(access_token, access_token_secret)\n",
- "api = tweepy.API(auth)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Now let's create a search query. The Tweepy API object has a *search* method that takes in a parameters *q*, which is our search query. The search query is a string that specifies what kind of tweets we want to search for. The documentation for query operators, which define what you'd like to search for, can be found [here]( https://dev.twitter.com/rest/public/search). The Twitter [advanced search engine](https://twitter.com/search-advanced?lang=en) also provides an easy way to build complex queries.\n",
- "\n",
- "For example, if we want to search for tweets about Hillary with the hashtag \"Imwithher\":"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 3,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Status(geo=None, is_quote_status=False, user=User(verified=False, utc_offset=None, entities={'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/564077913/1473222620', followers_count=244, url=None, is_translation_enabled=False, location=\"CHS'17\", created_at=datetime.datetime(2012, 4, 26, 19, 58, 53), default_profile_image=False, profile_use_background_image=True, statuses_count=6971, protected=False, favourites_count=207, profile_background_color='ACDED6', is_translator=False, profile_text_color='333333', profile_link_color='038543', _json={'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme18/bg.gif', 'utc_offset': None, 'entities': {'description': {'urls': []}}, 'listed_count': 2, 'profile_background_color': 'ACDED6', 'verified': False, 'followers_count': 244, 'url': None, 'friends_count': 862, 'is_translation_enabled': False, 'location': \"CHS'17\", 'created_at': 'Thu Apr 26 19:58:53 +0000 2012', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'F6F6F6', 'name': 'Bidhya', 'statuses_count': 6971, 'profile_image_url': 'http://pbs.twimg.com/profile_images/773377833297207297/3nN92VcM_normal.jpg', 'profile_link_color': '038543', 'following': False, 'id': 564077913, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 207, 'screen_name': 'bidhya_mainali', 'is_translator': False, 'description': \"Human rights are women's rights, and women's rights are human rights.-Hillary Clinton #alwayskeepfighting\", 'id_str': '564077913', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/564077913/1473222620', 'has_extended_profile': True, 'time_zone': None, 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'EEEEEE', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/773377833297207297/3nN92VcM_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme18/bg.gif', 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/773377833297207297/3nN92VcM_normal.jpg', profile_background_image_url_https='https://abs.twimg.com/images/themes/theme18/bg.gif', profile_background_tile=False, default_profile=False, geo_enabled=True, profile_background_image_url='http://abs.twimg.com/images/themes/theme18/bg.gif', time_zone=None, listed_count=2, following=False, friends_count=862, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='F6F6F6', name='Bidhya', profile_image_url='http://pbs.twimg.com/profile_images/773377833297207297/3nN92VcM_normal.jpg', id=564077913, lang='en', description=\"Human rights are women's rights, and women's rights are human rights.-Hillary Clinton #alwayskeepfighting\", id_str='564077913', has_extended_profile=True, screen_name='bidhya_mainali', profile_sidebar_border_color='EEEEEE'), text='RT @KaylinWinters2: All going to go home & cry when they leave.\\n#ThankYouObama\\nHillary will keep his legacy intact though!\\n#imwithher \\nhttp…', entities={'hashtags': [{'indices': [68, 82], 'text': 'ThankYouObama'}, {'indices': [127, 137], 'text': 'imwithher'}], 'symbols': [], 'urls': [], 'user_mentions': [{'screen_name': 'KaylinWinters2', 'indices': [3, 18], 'id': 701804482129215489, 'id_str': '701804482129215489', 'name': 'blackpridebrownlove'}]}, retweeted_status=Status(geo=None, is_quote_status=False, user=User(verified=False, utc_offset=None, entities={'url': {'urls': [{'url': 'https://t.co/EEDdyhVFsF', 'indices': [0, 23], 'display_url': 'bet.com', 'expanded_url': 'http://bet.com'}]}, 'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/701804482129215489/1474249291', followers_count=3227, url='https://t.co/EEDdyhVFsF', is_translation_enabled=False, location='United States', created_at=datetime.datetime(2016, 2, 22, 16, 23, 22), default_profile_image=False, profile_use_background_image=True, statuses_count=50680, protected=False, favourites_count=66223, profile_background_color='F5F8FA', is_translator=False, profile_text_color='333333', profile_link_color='1DA1F2', _json={'default_profile': True, 'geo_enabled': False, 'profile_background_image_url': None, 'utc_offset': None, 'entities': {'url': {'urls': [{'url': 'https://t.co/EEDdyhVFsF', 'indices': [0, 23], 'display_url': 'bet.com', 'expanded_url': 'http://bet.com'}]}, 'description': {'urls': []}}, 'listed_count': 129, 'profile_background_color': 'F5F8FA', 'verified': False, 'followers_count': 3227, 'url': 'https://t.co/EEDdyhVFsF', 'friends_count': 4066, 'is_translation_enabled': False, 'location': 'United States', 'created_at': 'Mon Feb 22 16:23:22 +0000 2016', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'blackpridebrownlove', 'statuses_count': 50680, 'profile_image_url': 'http://pbs.twimg.com/profile_images/794595248848572416/owMROHCD_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 701804482129215489, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 66223, 'screen_name': 'KaylinWinters2', 'is_translator': False, 'description': 'BSU 2021 | #Blacklivesmatter, #clintonkaine #UniteBlue |#letgirlslearn| deplorables🚫|#barackobama ❤️ #michelleobama|Obamacrat| #thanksobama| #hesnotmypresident', 'id_str': '701804482129215489', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/701804482129215489/1474249291', 'has_extended_profile': True, 'time_zone': None, 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/794595248848572416/owMROHCD_normal.jpg', 'profile_background_image_url_https': None, 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/794595248848572416/owMROHCD_normal.jpg', profile_background_image_url_https=None, profile_background_tile=False, default_profile=True, geo_enabled=False, profile_background_image_url=None, time_zone=None, listed_count=129, following=False, friends_count=4066, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='blackpridebrownlove', profile_image_url='http://pbs.twimg.com/profile_images/794595248848572416/owMROHCD_normal.jpg', id=701804482129215489, lang='en', description='BSU 2021 | #Blacklivesmatter, #clintonkaine #UniteBlue |#letgirlslearn| deplorables🚫|#barackobama ❤️ #michelleobama|Obamacrat| #thanksobama| #hesnotmypresident', id_str='701804482129215489', has_extended_profile=True, screen_name='KaylinWinters2', profile_sidebar_border_color='C0DEED'), text='All going to go home & cry when they leave.\\n#ThankYouObama\\nHillary will keep his legacy intact though!\\n#imwithher \\nhttps://t.co/aZCxhh6I4G', entities={'hashtags': [{'indices': [48, 62], 'text': 'ThankYouObama'}, {'indices': [107, 117], 'text': 'imwithher'}], 'symbols': [], 'urls': [], 'media': [{'source_status_id_str': '788934648487215104', 'id': 788934377178697728, 'media_url_https': 'https://pbs.twimg.com/ext_tw_video_thumb/788934377178697728/pu/img/q40mgdwItXKuGzQW.jpg', 'id_str': '788934377178697728', 'type': 'photo', 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 191, 'w': 340}, 'large': {'resize': 'fit', 'h': 576, 'w': 1024}, 'medium': {'resize': 'fit', 'h': 338, 'w': 600}}, 'source_status_id': 788934648487215104, 'url': 'https://t.co/aZCxhh6I4G', 'media_url': 'http://pbs.twimg.com/ext_tw_video_thumb/788934377178697728/pu/img/q40mgdwItXKuGzQW.jpg', 'source_user_id': 4218742998, 'source_user_id_str': '4218742998', 'indices': [119, 142], 'display_url': 'pic.twitter.com/aZCxhh6I4G', 'expanded_url': 'https://twitter.com/Parker9_/status/788934648487215104/video/1'}], 'user_mentions': []}, possibly_sensitive=False, in_reply_to_status_id=None, contributors=None, in_reply_to_screen_name=None, created_at=datetime.datetime(2016, 10, 22, 17, 37, 24), favorite_count=64, source_url='http://twitter.com/download/iphone', metadata={'iso_language_code': 'en', 'result_type': 'recent'}, source='Twitter for iPhone', in_reply_to_status_id_str=None, extended_entities={'media': [{'source_status_id_str': '788934648487215104', 'id': 788934377178697728, 'media_url_https': 'https://pbs.twimg.com/ext_tw_video_thumb/788934377178697728/pu/img/q40mgdwItXKuGzQW.jpg', 'id_str': '788934377178697728', 'type': 'video', 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 191, 'w': 340}, 'large': {'resize': 'fit', 'h': 576, 'w': 1024}, 'medium': {'resize': 'fit', 'h': 338, 'w': 600}}, 'source_status_id': 788934648487215104, 'url': 'https://t.co/aZCxhh6I4G', 'media_url': 'http://pbs.twimg.com/ext_tw_video_thumb/788934377178697728/pu/img/q40mgdwItXKuGzQW.jpg', 'source_user_id': 4218742998, 'additional_media_info': {'monetizable': False}, 'source_user_id_str': '4218742998', 'indices': [119, 142], 'video_info': {'duration_millis': 140000, 'variants': [{'content_type': 'application/dash+xml', 'url': 'https://video.twimg.com/ext_tw_video/788934377178697728/pu/pl/-lzpR6X0YpYBysuY.mpd'}, {'content_type': 'application/x-mpegURL', 'url': 'https://video.twimg.com/ext_tw_video/788934377178697728/pu/pl/-lzpR6X0YpYBysuY.m3u8'}, {'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/788934377178697728/pu/vid/640x360/fFnlu6hTXvDgEEb4.mp4', 'bitrate': 832000}, {'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/788934377178697728/pu/vid/320x180/q7aEg_fUAubqueZa.mp4', 'bitrate': 320000}, {'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/788934377178697728/pu/vid/1280x720/8Mq5DJ1FMSUD7zEA.mp4', 'bitrate': 2176000}], 'aspect_ratio': [16, 9]}, 'display_url': 'pic.twitter.com/aZCxhh6I4G', 'expanded_url': 'https://twitter.com/Parker9_/status/788934648487215104/video/1'}]}, id=789883367953014784, in_reply_to_user_id=None, lang='en', in_reply_to_user_id_str=None, retweet_count=36, coordinates=None, retweeted=False, id_str='789883367953014784', truncated=False, favorited=False, _json={'geo': None, 'is_quote_status': False, 'user': {'default_profile': True, 'geo_enabled': False, 'profile_background_image_url': None, 'utc_offset': None, 'entities': {'url': {'urls': [{'url': 'https://t.co/EEDdyhVFsF', 'indices': [0, 23], 'display_url': 'bet.com', 'expanded_url': 'http://bet.com'}]}, 'description': {'urls': []}}, 'listed_count': 129, 'profile_background_color': 'F5F8FA', 'verified': False, 'followers_count': 3227, 'url': 'https://t.co/EEDdyhVFsF', 'friends_count': 4066, 'is_translation_enabled': False, 'location': 'United States', 'created_at': 'Mon Feb 22 16:23:22 +0000 2016', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'blackpridebrownlove', 'statuses_count': 50680, 'profile_image_url': 'http://pbs.twimg.com/profile_images/794595248848572416/owMROHCD_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 701804482129215489, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 66223, 'screen_name': 'KaylinWinters2', 'is_translator': False, 'description': 'BSU 2021 | #Blacklivesmatter, #clintonkaine #UniteBlue |#letgirlslearn| deplorables🚫|#barackobama ❤️ #michelleobama|Obamacrat| #thanksobama| #hesnotmypresident', 'id_str': '701804482129215489', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/701804482129215489/1474249291', 'has_extended_profile': True, 'time_zone': None, 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/794595248848572416/owMROHCD_normal.jpg', 'profile_background_image_url_https': None, 'profile_text_color': '333333', 'profile_background_tile': False}, 'text': 'All going to go home & cry when they leave.\\n#ThankYouObama\\nHillary will keep his legacy intact though!\\n#imwithher \\nhttps://t.co/aZCxhh6I4G', 'entities': {'hashtags': [{'indices': [48, 62], 'text': 'ThankYouObama'}, {'indices': [107, 117], 'text': 'imwithher'}], 'symbols': [], 'urls': [], 'media': [{'source_status_id_str': '788934648487215104', 'id': 788934377178697728, 'media_url_https': 'https://pbs.twimg.com/ext_tw_video_thumb/788934377178697728/pu/img/q40mgdwItXKuGzQW.jpg', 'id_str': '788934377178697728', 'type': 'photo', 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 191, 'w': 340}, 'large': {'resize': 'fit', 'h': 576, 'w': 1024}, 'medium': {'resize': 'fit', 'h': 338, 'w': 600}}, 'source_status_id': 788934648487215104, 'url': 'https://t.co/aZCxhh6I4G', 'media_url': 'http://pbs.twimg.com/ext_tw_video_thumb/788934377178697728/pu/img/q40mgdwItXKuGzQW.jpg', 'source_user_id': 4218742998, 'source_user_id_str': '4218742998', 'indices': [119, 142], 'display_url': 'pic.twitter.com/aZCxhh6I4G', 'expanded_url': 'https://twitter.com/Parker9_/status/788934648487215104/video/1'}], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Sat Oct 22 17:37:24 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'Twitter for iPhone ', 'contributors': None, 'extended_entities': {'media': [{'source_status_id_str': '788934648487215104', 'id': 788934377178697728, 'media_url_https': 'https://pbs.twimg.com/ext_tw_video_thumb/788934377178697728/pu/img/q40mgdwItXKuGzQW.jpg', 'id_str': '788934377178697728', 'type': 'video', 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 191, 'w': 340}, 'large': {'resize': 'fit', 'h': 576, 'w': 1024}, 'medium': {'resize': 'fit', 'h': 338, 'w': 600}}, 'source_status_id': 788934648487215104, 'url': 'https://t.co/aZCxhh6I4G', 'media_url': 'http://pbs.twimg.com/ext_tw_video_thumb/788934377178697728/pu/img/q40mgdwItXKuGzQW.jpg', 'source_user_id': 4218742998, 'additional_media_info': {'monetizable': False}, 'source_user_id_str': '4218742998', 'indices': [119, 142], 'video_info': {'duration_millis': 140000, 'variants': [{'content_type': 'application/dash+xml', 'url': 'https://video.twimg.com/ext_tw_video/788934377178697728/pu/pl/-lzpR6X0YpYBysuY.mpd'}, {'content_type': 'application/x-mpegURL', 'url': 'https://video.twimg.com/ext_tw_video/788934377178697728/pu/pl/-lzpR6X0YpYBysuY.m3u8'}, {'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/788934377178697728/pu/vid/640x360/fFnlu6hTXvDgEEb4.mp4', 'bitrate': 832000}, {'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/788934377178697728/pu/vid/320x180/q7aEg_fUAubqueZa.mp4', 'bitrate': 320000}, {'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/788934377178697728/pu/vid/1280x720/8Mq5DJ1FMSUD7zEA.mp4', 'bitrate': 2176000}], 'aspect_ratio': [16, 9]}, 'display_url': 'pic.twitter.com/aZCxhh6I4G', 'expanded_url': 'https://twitter.com/Parker9_/status/788934648487215104/video/1'}]}, 'id': 789883367953014784, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 36, 'coordinates': None, 'retweeted': False, 'id_str': '789883367953014784', 'truncated': False, 'place': None, 'favorite_count': 64}, _api=, place=None, author=User(verified=False, utc_offset=None, entities={'url': {'urls': [{'url': 'https://t.co/EEDdyhVFsF', 'indices': [0, 23], 'display_url': 'bet.com', 'expanded_url': 'http://bet.com'}]}, 'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/701804482129215489/1474249291', followers_count=3227, url='https://t.co/EEDdyhVFsF', is_translation_enabled=False, location='United States', created_at=datetime.datetime(2016, 2, 22, 16, 23, 22), default_profile_image=False, profile_use_background_image=True, statuses_count=50680, protected=False, favourites_count=66223, profile_background_color='F5F8FA', is_translator=False, profile_text_color='333333', profile_link_color='1DA1F2', _json={'default_profile': True, 'geo_enabled': False, 'profile_background_image_url': None, 'utc_offset': None, 'entities': {'url': {'urls': [{'url': 'https://t.co/EEDdyhVFsF', 'indices': [0, 23], 'display_url': 'bet.com', 'expanded_url': 'http://bet.com'}]}, 'description': {'urls': []}}, 'listed_count': 129, 'profile_background_color': 'F5F8FA', 'verified': False, 'followers_count': 3227, 'url': 'https://t.co/EEDdyhVFsF', 'friends_count': 4066, 'is_translation_enabled': False, 'location': 'United States', 'created_at': 'Mon Feb 22 16:23:22 +0000 2016', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'blackpridebrownlove', 'statuses_count': 50680, 'profile_image_url': 'http://pbs.twimg.com/profile_images/794595248848572416/owMROHCD_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 701804482129215489, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 66223, 'screen_name': 'KaylinWinters2', 'is_translator': False, 'description': 'BSU 2021 | #Blacklivesmatter, #clintonkaine #UniteBlue |#letgirlslearn| deplorables🚫|#barackobama ❤️ #michelleobama|Obamacrat| #thanksobama| #hesnotmypresident', 'id_str': '701804482129215489', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/701804482129215489/1474249291', 'has_extended_profile': True, 'time_zone': None, 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/794595248848572416/owMROHCD_normal.jpg', 'profile_background_image_url_https': None, 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/794595248848572416/owMROHCD_normal.jpg', profile_background_image_url_https=None, profile_background_tile=False, default_profile=True, geo_enabled=False, profile_background_image_url=None, time_zone=None, listed_count=129, following=False, friends_count=4066, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='blackpridebrownlove', profile_image_url='http://pbs.twimg.com/profile_images/794595248848572416/owMROHCD_normal.jpg', id=701804482129215489, lang='en', description='BSU 2021 | #Blacklivesmatter, #clintonkaine #UniteBlue |#letgirlslearn| deplorables🚫|#barackobama ❤️ #michelleobama|Obamacrat| #thanksobama| #hesnotmypresident', id_str='701804482129215489', has_extended_profile=True, screen_name='KaylinWinters2', profile_sidebar_border_color='C0DEED')), in_reply_to_status_id=None, contributors=None, in_reply_to_screen_name=None, created_at=datetime.datetime(2016, 11, 15, 0, 13, 51), favorite_count=0, source_url='http://twitter.com/download/iphone', metadata={'iso_language_code': 'en', 'result_type': 'recent'}, source='Twitter for iPhone', in_reply_to_status_id_str=None, id=798318056132907008, in_reply_to_user_id=None, lang='en', in_reply_to_user_id_str=None, retweet_count=36, coordinates=None, retweeted=False, id_str='798318056132907008', truncated=False, favorited=False, _json={'geo': None, 'is_quote_status': False, 'user': {'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme18/bg.gif', 'utc_offset': None, 'entities': {'description': {'urls': []}}, 'listed_count': 2, 'profile_background_color': 'ACDED6', 'verified': False, 'followers_count': 244, 'url': None, 'friends_count': 862, 'is_translation_enabled': False, 'location': \"CHS'17\", 'created_at': 'Thu Apr 26 19:58:53 +0000 2012', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'F6F6F6', 'name': 'Bidhya', 'statuses_count': 6971, 'profile_image_url': 'http://pbs.twimg.com/profile_images/773377833297207297/3nN92VcM_normal.jpg', 'profile_link_color': '038543', 'following': False, 'id': 564077913, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 207, 'screen_name': 'bidhya_mainali', 'is_translator': False, 'description': \"Human rights are women's rights, and women's rights are human rights.-Hillary Clinton #alwayskeepfighting\", 'id_str': '564077913', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/564077913/1473222620', 'has_extended_profile': True, 'time_zone': None, 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'EEEEEE', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/773377833297207297/3nN92VcM_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme18/bg.gif', 'profile_text_color': '333333', 'profile_background_tile': False}, 'text': 'RT @KaylinWinters2: All going to go home & cry when they leave.\\n#ThankYouObama\\nHillary will keep his legacy intact though!\\n#imwithher \\nhttp…', 'entities': {'hashtags': [{'indices': [68, 82], 'text': 'ThankYouObama'}, {'indices': [127, 137], 'text': 'imwithher'}], 'symbols': [], 'urls': [], 'user_mentions': [{'screen_name': 'KaylinWinters2', 'indices': [3, 18], 'id': 701804482129215489, 'id_str': '701804482129215489', 'name': 'blackpridebrownlove'}]}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Tue Nov 15 00:13:51 +0000 2016', 'lang': 'en', 'source': 'Twitter for iPhone ', 'contributors': None, 'id': 798318056132907008, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 36, 'coordinates': None, 'retweeted': False, 'id_str': '798318056132907008', 'truncated': False, 'place': None, 'favorite_count': 0, 'retweeted_status': {'geo': None, 'is_quote_status': False, 'user': {'default_profile': True, 'geo_enabled': False, 'profile_background_image_url': None, 'utc_offset': None, 'entities': {'url': {'urls': [{'url': 'https://t.co/EEDdyhVFsF', 'indices': [0, 23], 'display_url': 'bet.com', 'expanded_url': 'http://bet.com'}]}, 'description': {'urls': []}}, 'listed_count': 129, 'profile_background_color': 'F5F8FA', 'verified': False, 'followers_count': 3227, 'url': 'https://t.co/EEDdyhVFsF', 'friends_count': 4066, 'is_translation_enabled': False, 'location': 'United States', 'created_at': 'Mon Feb 22 16:23:22 +0000 2016', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'blackpridebrownlove', 'statuses_count': 50680, 'profile_image_url': 'http://pbs.twimg.com/profile_images/794595248848572416/owMROHCD_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 701804482129215489, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 66223, 'screen_name': 'KaylinWinters2', 'is_translator': False, 'description': 'BSU 2021 | #Blacklivesmatter, #clintonkaine #UniteBlue |#letgirlslearn| deplorables🚫|#barackobama ❤️ #michelleobama|Obamacrat| #thanksobama| #hesnotmypresident', 'id_str': '701804482129215489', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/701804482129215489/1474249291', 'has_extended_profile': True, 'time_zone': None, 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/794595248848572416/owMROHCD_normal.jpg', 'profile_background_image_url_https': None, 'profile_text_color': '333333', 'profile_background_tile': False}, 'text': 'All going to go home & cry when they leave.\\n#ThankYouObama\\nHillary will keep his legacy intact though!\\n#imwithher \\nhttps://t.co/aZCxhh6I4G', 'entities': {'hashtags': [{'indices': [48, 62], 'text': 'ThankYouObama'}, {'indices': [107, 117], 'text': 'imwithher'}], 'symbols': [], 'urls': [], 'media': [{'source_status_id_str': '788934648487215104', 'id': 788934377178697728, 'media_url_https': 'https://pbs.twimg.com/ext_tw_video_thumb/788934377178697728/pu/img/q40mgdwItXKuGzQW.jpg', 'id_str': '788934377178697728', 'type': 'photo', 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 191, 'w': 340}, 'large': {'resize': 'fit', 'h': 576, 'w': 1024}, 'medium': {'resize': 'fit', 'h': 338, 'w': 600}}, 'source_status_id': 788934648487215104, 'url': 'https://t.co/aZCxhh6I4G', 'media_url': 'http://pbs.twimg.com/ext_tw_video_thumb/788934377178697728/pu/img/q40mgdwItXKuGzQW.jpg', 'source_user_id': 4218742998, 'source_user_id_str': '4218742998', 'indices': [119, 142], 'display_url': 'pic.twitter.com/aZCxhh6I4G', 'expanded_url': 'https://twitter.com/Parker9_/status/788934648487215104/video/1'}], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Sat Oct 22 17:37:24 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'Twitter for iPhone ', 'contributors': None, 'extended_entities': {'media': [{'source_status_id_str': '788934648487215104', 'id': 788934377178697728, 'media_url_https': 'https://pbs.twimg.com/ext_tw_video_thumb/788934377178697728/pu/img/q40mgdwItXKuGzQW.jpg', 'id_str': '788934377178697728', 'type': 'video', 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 191, 'w': 340}, 'large': {'resize': 'fit', 'h': 576, 'w': 1024}, 'medium': {'resize': 'fit', 'h': 338, 'w': 600}}, 'source_status_id': 788934648487215104, 'url': 'https://t.co/aZCxhh6I4G', 'media_url': 'http://pbs.twimg.com/ext_tw_video_thumb/788934377178697728/pu/img/q40mgdwItXKuGzQW.jpg', 'source_user_id': 4218742998, 'additional_media_info': {'monetizable': False}, 'source_user_id_str': '4218742998', 'indices': [119, 142], 'video_info': {'duration_millis': 140000, 'variants': [{'content_type': 'application/dash+xml', 'url': 'https://video.twimg.com/ext_tw_video/788934377178697728/pu/pl/-lzpR6X0YpYBysuY.mpd'}, {'content_type': 'application/x-mpegURL', 'url': 'https://video.twimg.com/ext_tw_video/788934377178697728/pu/pl/-lzpR6X0YpYBysuY.m3u8'}, {'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/788934377178697728/pu/vid/640x360/fFnlu6hTXvDgEEb4.mp4', 'bitrate': 832000}, {'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/788934377178697728/pu/vid/320x180/q7aEg_fUAubqueZa.mp4', 'bitrate': 320000}, {'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/788934377178697728/pu/vid/1280x720/8Mq5DJ1FMSUD7zEA.mp4', 'bitrate': 2176000}], 'aspect_ratio': [16, 9]}, 'display_url': 'pic.twitter.com/aZCxhh6I4G', 'expanded_url': 'https://twitter.com/Parker9_/status/788934648487215104/video/1'}]}, 'id': 789883367953014784, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 36, 'coordinates': None, 'retweeted': False, 'id_str': '789883367953014784', 'truncated': False, 'place': None, 'favorite_count': 64}}, _api=, place=None, author=User(verified=False, utc_offset=None, entities={'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/564077913/1473222620', followers_count=244, url=None, is_translation_enabled=False, location=\"CHS'17\", created_at=datetime.datetime(2012, 4, 26, 19, 58, 53), default_profile_image=False, profile_use_background_image=True, statuses_count=6971, protected=False, favourites_count=207, profile_background_color='ACDED6', is_translator=False, profile_text_color='333333', profile_link_color='038543', _json={'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme18/bg.gif', 'utc_offset': None, 'entities': {'description': {'urls': []}}, 'listed_count': 2, 'profile_background_color': 'ACDED6', 'verified': False, 'followers_count': 244, 'url': None, 'friends_count': 862, 'is_translation_enabled': False, 'location': \"CHS'17\", 'created_at': 'Thu Apr 26 19:58:53 +0000 2012', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'F6F6F6', 'name': 'Bidhya', 'statuses_count': 6971, 'profile_image_url': 'http://pbs.twimg.com/profile_images/773377833297207297/3nN92VcM_normal.jpg', 'profile_link_color': '038543', 'following': False, 'id': 564077913, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 207, 'screen_name': 'bidhya_mainali', 'is_translator': False, 'description': \"Human rights are women's rights, and women's rights are human rights.-Hillary Clinton #alwayskeepfighting\", 'id_str': '564077913', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/564077913/1473222620', 'has_extended_profile': True, 'time_zone': None, 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'EEEEEE', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/773377833297207297/3nN92VcM_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme18/bg.gif', 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/773377833297207297/3nN92VcM_normal.jpg', profile_background_image_url_https='https://abs.twimg.com/images/themes/theme18/bg.gif', profile_background_tile=False, default_profile=False, geo_enabled=True, profile_background_image_url='http://abs.twimg.com/images/themes/theme18/bg.gif', time_zone=None, listed_count=2, following=False, friends_count=862, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='F6F6F6', name='Bidhya', profile_image_url='http://pbs.twimg.com/profile_images/773377833297207297/3nN92VcM_normal.jpg', id=564077913, lang='en', description=\"Human rights are women's rights, and women's rights are human rights.-Hillary Clinton #alwayskeepfighting\", id_str='564077913', has_extended_profile=True, screen_name='bidhya_mainali', profile_sidebar_border_color='EEEEEE'))\n"
- ]
- }
- ],
- "source": [
- "# We first need to create our search query string, using either the query operator documentation, \n",
- "# or the Twitter advanced search enginer:\n",
- "query = \"%20hillary%23imwithher\"\n",
- "\n",
- "# We now use the api object's search method to find the tweets that match the query:\n",
- "results = api.search(query)\n",
- "\n",
- "# Now, let's see the results. The results will be a list of SearchResult objects. Let's look at the first result in the list:\n",
- "print(results[0])"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "That's a lot of text. Let's convert the first results to JSON (which in Python, acts as a dictionary) and use [JSON Pretty Print](http://jsonprettyprint.com/) to better visualize the results:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 4,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Let's convert the first result to JSON:\n",
- "status = results[0]\n",
- "# This here is the data as a dictionary:\n",
- "dictionary = status._json"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "If you print them, the look about the same, but are slightly different. To actually access the data, we'd need to use the data in the dictionary. But if we only want to more clearly visualize how the data is structured, we can used JSON Pretty Print. To use it, we have to use the JSON string. Try pasting the [JSON](https://docs.python.org/3/library/json.html) string below into Pretty Print:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 5,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "{\"geo\": null, \"is_quote_status\": false, \"user\": {\"default_profile\": false, \"geo_enabled\": true, \"profile_background_image_url\": \"http://abs.twimg.com/images/themes/theme18/bg.gif\", \"utc_offset\": null, \"entities\": {\"description\": {\"urls\": []}}, \"listed_count\": 2, \"profile_background_color\": \"ACDED6\", \"verified\": false, \"followers_count\": 244, \"url\": null, \"friends_count\": 862, \"is_translation_enabled\": false, \"location\": \"CHS'17\", \"created_at\": \"Thu Apr 26 19:58:53 +0000 2012\", \"default_profile_image\": false, \"profile_use_background_image\": true, \"profile_sidebar_fill_color\": \"F6F6F6\", \"name\": \"Bidhya\", \"statuses_count\": 6971, \"profile_image_url\": \"http://pbs.twimg.com/profile_images/773377833297207297/3nN92VcM_normal.jpg\", \"profile_link_color\": \"038543\", \"following\": false, \"id\": 564077913, \"protected\": false, \"lang\": \"en\", \"notifications\": false, \"favourites_count\": 207, \"screen_name\": \"bidhya_mainali\", \"is_translator\": false, \"description\": \"Human rights are women's rights, and women's rights are human rights.-Hillary Clinton #alwayskeepfighting\", \"id_str\": \"564077913\", \"profile_banner_url\": \"https://pbs.twimg.com/profile_banners/564077913/1473222620\", \"has_extended_profile\": true, \"time_zone\": null, \"follow_request_sent\": false, \"contributors_enabled\": false, \"translator_type\": \"none\", \"profile_sidebar_border_color\": \"EEEEEE\", \"profile_image_url_https\": \"https://pbs.twimg.com/profile_images/773377833297207297/3nN92VcM_normal.jpg\", \"profile_background_image_url_https\": \"https://abs.twimg.com/images/themes/theme18/bg.gif\", \"profile_text_color\": \"333333\", \"profile_background_tile\": false}, \"text\": \"RT @KaylinWinters2: All going to go home & cry when they leave.\\n#ThankYouObama\\nHillary will keep his legacy intact though!\\n#imwithher \\nhttp\\u2026\", \"entities\": {\"hashtags\": [{\"indices\": [68, 82], \"text\": \"ThankYouObama\"}, {\"indices\": [127, 137], \"text\": \"imwithher\"}], \"symbols\": [], \"urls\": [], \"user_mentions\": [{\"screen_name\": \"KaylinWinters2\", \"indices\": [3, 18], \"id\": 701804482129215489, \"id_str\": \"701804482129215489\", \"name\": \"blackpridebrownlove\"}]}, \"favorited\": false, \"in_reply_to_status_id\": null, \"in_reply_to_status_id_str\": null, \"in_reply_to_screen_name\": null, \"created_at\": \"Tue Nov 15 00:13:51 +0000 2016\", \"lang\": \"en\", \"source\": \"Twitter for iPhone \", \"contributors\": null, \"id\": 798318056132907008, \"in_reply_to_user_id\": null, \"metadata\": {\"iso_language_code\": \"en\", \"result_type\": \"recent\"}, \"in_reply_to_user_id_str\": null, \"retweet_count\": 36, \"coordinates\": null, \"retweeted\": false, \"id_str\": \"798318056132907008\", \"truncated\": false, \"place\": null, \"favorite_count\": 0, \"retweeted_status\": {\"geo\": null, \"is_quote_status\": false, \"user\": {\"default_profile\": true, \"geo_enabled\": false, \"profile_background_image_url\": null, \"utc_offset\": null, \"entities\": {\"url\": {\"urls\": [{\"url\": \"https://t.co/EEDdyhVFsF\", \"indices\": [0, 23], \"display_url\": \"bet.com\", \"expanded_url\": \"http://bet.com\"}]}, \"description\": {\"urls\": []}}, \"listed_count\": 129, \"profile_background_color\": \"F5F8FA\", \"verified\": false, \"followers_count\": 3227, \"url\": \"https://t.co/EEDdyhVFsF\", \"friends_count\": 4066, \"is_translation_enabled\": false, \"location\": \"United States\", \"created_at\": \"Mon Feb 22 16:23:22 +0000 2016\", \"default_profile_image\": false, \"profile_use_background_image\": true, \"profile_sidebar_fill_color\": \"DDEEF6\", \"name\": \"blackpridebrownlove\", \"statuses_count\": 50680, \"profile_image_url\": \"http://pbs.twimg.com/profile_images/794595248848572416/owMROHCD_normal.jpg\", \"profile_link_color\": \"1DA1F2\", \"following\": false, \"id\": 701804482129215489, \"protected\": false, \"lang\": \"en\", \"notifications\": false, \"favourites_count\": 66223, \"screen_name\": \"KaylinWinters2\", \"is_translator\": false, \"description\": \"BSU 2021 | #Blacklivesmatter, #clintonkaine #UniteBlue |#letgirlslearn| deplorables\\ud83d\\udeab|#barackobama \\u2764\\ufe0f #michelleobama|Obamacrat| #thanksobama| #hesnotmypresident\", \"id_str\": \"701804482129215489\", \"profile_banner_url\": \"https://pbs.twimg.com/profile_banners/701804482129215489/1474249291\", \"has_extended_profile\": true, \"time_zone\": null, \"follow_request_sent\": false, \"contributors_enabled\": false, \"translator_type\": \"none\", \"profile_sidebar_border_color\": \"C0DEED\", \"profile_image_url_https\": \"https://pbs.twimg.com/profile_images/794595248848572416/owMROHCD_normal.jpg\", \"profile_background_image_url_https\": null, \"profile_text_color\": \"333333\", \"profile_background_tile\": false}, \"text\": \"All going to go home & cry when they leave.\\n#ThankYouObama\\nHillary will keep his legacy intact though!\\n#imwithher \\nhttps://t.co/aZCxhh6I4G\", \"entities\": {\"hashtags\": [{\"indices\": [48, 62], \"text\": \"ThankYouObama\"}, {\"indices\": [107, 117], \"text\": \"imwithher\"}], \"symbols\": [], \"urls\": [], \"media\": [{\"source_status_id_str\": \"788934648487215104\", \"id\": 788934377178697728, \"media_url_https\": \"https://pbs.twimg.com/ext_tw_video_thumb/788934377178697728/pu/img/q40mgdwItXKuGzQW.jpg\", \"id_str\": \"788934377178697728\", \"type\": \"photo\", \"sizes\": {\"thumb\": {\"resize\": \"crop\", \"h\": 150, \"w\": 150}, \"small\": {\"resize\": \"fit\", \"h\": 191, \"w\": 340}, \"large\": {\"resize\": \"fit\", \"h\": 576, \"w\": 1024}, \"medium\": {\"resize\": \"fit\", \"h\": 338, \"w\": 600}}, \"source_status_id\": 788934648487215104, \"url\": \"https://t.co/aZCxhh6I4G\", \"media_url\": \"http://pbs.twimg.com/ext_tw_video_thumb/788934377178697728/pu/img/q40mgdwItXKuGzQW.jpg\", \"source_user_id\": 4218742998, \"source_user_id_str\": \"4218742998\", \"indices\": [119, 142], \"display_url\": \"pic.twitter.com/aZCxhh6I4G\", \"expanded_url\": \"https://twitter.com/Parker9_/status/788934648487215104/video/1\"}], \"user_mentions\": []}, \"favorited\": false, \"in_reply_to_status_id\": null, \"in_reply_to_status_id_str\": null, \"in_reply_to_screen_name\": null, \"created_at\": \"Sat Oct 22 17:37:24 +0000 2016\", \"possibly_sensitive\": false, \"lang\": \"en\", \"source\": \"Twitter for iPhone \", \"contributors\": null, \"extended_entities\": {\"media\": [{\"source_status_id_str\": \"788934648487215104\", \"id\": 788934377178697728, \"media_url_https\": \"https://pbs.twimg.com/ext_tw_video_thumb/788934377178697728/pu/img/q40mgdwItXKuGzQW.jpg\", \"id_str\": \"788934377178697728\", \"type\": \"video\", \"sizes\": {\"thumb\": {\"resize\": \"crop\", \"h\": 150, \"w\": 150}, \"small\": {\"resize\": \"fit\", \"h\": 191, \"w\": 340}, \"large\": {\"resize\": \"fit\", \"h\": 576, \"w\": 1024}, \"medium\": {\"resize\": \"fit\", \"h\": 338, \"w\": 600}}, \"source_status_id\": 788934648487215104, \"url\": \"https://t.co/aZCxhh6I4G\", \"media_url\": \"http://pbs.twimg.com/ext_tw_video_thumb/788934377178697728/pu/img/q40mgdwItXKuGzQW.jpg\", \"source_user_id\": 4218742998, \"additional_media_info\": {\"monetizable\": false}, \"source_user_id_str\": \"4218742998\", \"indices\": [119, 142], \"video_info\": {\"duration_millis\": 140000, \"variants\": [{\"content_type\": \"application/dash+xml\", \"url\": \"https://video.twimg.com/ext_tw_video/788934377178697728/pu/pl/-lzpR6X0YpYBysuY.mpd\"}, {\"content_type\": \"application/x-mpegURL\", \"url\": \"https://video.twimg.com/ext_tw_video/788934377178697728/pu/pl/-lzpR6X0YpYBysuY.m3u8\"}, {\"content_type\": \"video/mp4\", \"url\": \"https://video.twimg.com/ext_tw_video/788934377178697728/pu/vid/640x360/fFnlu6hTXvDgEEb4.mp4\", \"bitrate\": 832000}, {\"content_type\": \"video/mp4\", \"url\": \"https://video.twimg.com/ext_tw_video/788934377178697728/pu/vid/320x180/q7aEg_fUAubqueZa.mp4\", \"bitrate\": 320000}, {\"content_type\": \"video/mp4\", \"url\": \"https://video.twimg.com/ext_tw_video/788934377178697728/pu/vid/1280x720/8Mq5DJ1FMSUD7zEA.mp4\", \"bitrate\": 2176000}], \"aspect_ratio\": [16, 9]}, \"display_url\": \"pic.twitter.com/aZCxhh6I4G\", \"expanded_url\": \"https://twitter.com/Parker9_/status/788934648487215104/video/1\"}]}, \"id\": 789883367953014784, \"in_reply_to_user_id\": null, \"metadata\": {\"iso_language_code\": \"en\", \"result_type\": \"recent\"}, \"in_reply_to_user_id_str\": null, \"retweet_count\": 36, \"coordinates\": null, \"retweeted\": false, \"id_str\": \"789883367953014784\", \"truncated\": false, \"place\": null, \"favorite_count\": 64}}\n"
- ]
- }
- ],
- "source": [
- "# And this is the data as a JSON string.\n",
- "json_str = json.dumps(status._json)\n",
- "print(json_str)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "collapsed": true
- },
- "source": [
- "### Analyzing and visualizing data"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Now we'll explore data from the tweets using two Python libraries that are commonly used in data analysis, NumPy and Matplotlib."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 8,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "%matplotlib inline\n",
- "import matplotlib\n",
- "import numpy as np # Abbreviation to make future use easier\n",
- "import matplotlib.pyplot as plt"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "**NumPy**\n",
- "\n",
- "NumPy is a scientific computing library that provides functions to make it easy to perform computations on data without worrying about the underlying algorithm (think matrix multiplication, list sorting, polynomial fitting, etc.). It's based around \"ndarray\" objects (*n*-dimensional arrays) that are very similar to the Python lists we're already familiar with. The NumPy documentation, which can be found [here](https://docs.scipy.org/doc/numpy-1.11.0/reference/), provides a good explanation of its capabilites."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Let's see some basic examples of what NumPy can do:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 9,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Create a Python list\n",
- "lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n",
- "\n",
- "# Create a NumPy array from that list\n",
- "arr = np.array(lst)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Let's say we want to add 5 to each number in the list, multiply each number by 10, and then\n",
- "find the sum of all numbers in the list."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 10,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "lst_sum: 1050\n",
- "array_sum: 1050\n"
- ]
- }
- ],
- "source": [
- "# Using only Python, it would look something like this:\n",
- "new_lst = []\n",
- "for i in range(len(lst)):\n",
- " new_lst.append((lst[i] + 5) * 10)\n",
- "lst_sum = sum(new_lst)\n",
- "print(\"lst_sum: \" + str(lst_sum))\n",
- "\n",
- "# With NumPy, it would be:\n",
- "array_sum = np.sum((arr + 5) * 10)\n",
- "print(\"array_sum: \" + str(array_sum))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Using the same list and array, let's find the numbers in the list that are either even or greater than 5."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 13,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "new_lst: [2, 4, 6, 7, 8, 9, 10]\n",
- "array: [ 1 2 3 4 5 6 7 8 9 10]\n",
- "new_array: [ 2 4 6 7 8 9 10]\n",
- "boolean_array: [False True False True False True True True True True]\n"
- ]
- }
- ],
- "source": [
- "# Python only code:\n",
- "new_lst = []\n",
- "for num in lst:\n",
- " if num % 2 == 0 or num > 5:\n",
- " new_lst.append(num)\n",
- "print(\"new_lst: \" + str(new_lst))\n",
- " \n",
- "# NumPy code:\n",
- "boolean_array = (arr > 5) | (arr % 2 == 0)\n",
- "new_array = arr[boolean_array]\n",
- "print(\"array: \" + str(arr))\n",
- "print(\"new_array: \" + str(new_array))\n",
- "print(\"boolean_array: \" + str(boolean_array))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "As you can see, we get the same result with NumPy using fewer and less complicated lines of code. This is a really basic example, but the advantage of using NumPy becomes even more clear with more complicated calculations.\n",
- "\n",
- "*The most important thing to get out of this section:* Use NumPy arrays are very similar to Python lists, but as we will see in the following question, they are more compatible with the Matplotlib package. If you understand how to create a NumPy array, it will make graphing exercises easier. So, create a NumPy array below (and don't overthink it!):"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 14,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "# First, create a Python list.\n",
- "num_lst = [3, 4, 5, 6, 6, 7, 8, 8, 9, 12]\n",
- "# Then, create a NumPy array using that list (as above)\n",
- "num_arr = np.array(num_lst)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "**Matplotlib**\n",
- "\n",
- "Matplotlib is another Python library that makes is easy to visualize data. You can create almost any kind of plot with Matplotlib: line graphs, box plots, heatmaps, 3D scatter plots, histograms, etc. The documentation, which you can find [here](http://matplotlib.org/contents.html) is also pretty good.\n",
- "\n",
- "Matplotlib and NumPy are often used together. They don't have to be, but they do complement each other well."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Here are a few examples:"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "First, we will make some fake data to plot. To create a plot, we will pass in an array of x values and another array of corresponding y values. Here is an example:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 15,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Here's some fake data:\n",
- "x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])\n",
- "y = np.array([2, 5, 3, 6, 5, 8, 7, 7, 8, 9])"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Let's make a plot! Matplotlib will create the figure, you just have to give it data, and then specify additional parameters if you'd like. The only required parameters for creating a plot are the x and y arrays described above. We will start with the most basic plot available:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 16,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "[]"
- ]
- },
- "execution_count": 16,
- "metadata": {},
- "output_type": "execute_result"
- },
- {
- "data": {
- "image/png": "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\nHwwmkidtrEBYAAAAAElFTkSuQmCC\n",
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
- "source": [
- "# The most basic plot possible - a line graph\n",
- "plt.plot(x, y)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Now let's open up the [pyplot tutorial](http://matplotlib.org/users/pyplot_tutorial.html) to learn a little bit about what the \"plot()\" command takes in. Once you've read up, take the same data and make a scatter plot *using the plot() function.*"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 22,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- ""
- ]
- },
- "execution_count": 22,
- "metadata": {},
- "output_type": "execute_result"
- },
- {
- "data": {
- "image/png": "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\nqef+P80ZektaZ5HfAAAAAElFTkSuQmCC\n",
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
- "source": [
- "# A scatter plot with the above data\n",
- "plt.plot(x, y, \"g^\")\n",
- "plt.title(\"Scatter plot\")\n",
- "plt.xlabel(\"X axis\")\n",
- "plt.ylabel(\"Y axis\")"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "And now a bar graph:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 23,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- ""
- ]
- },
- "execution_count": 23,
- "metadata": {},
- "output_type": "execute_result"
- },
- {
- "data": {
- "image/png": "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\npF7FEYT6YtwAAAAASUVORK5CYII=\n",
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
- "source": [
- "# A bar graph, with the same data\n",
- "plt.bar(x, y)\n",
- "plt.title(\"Bar graph\")\n",
- "plt.xlabel(\"X values\")\n",
- "plt.ylabel(\"Y values\")"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Let's make it 3D!"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 24,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# We first need to import an add-on library for 3D graphing:\n",
- "from mpl_toolkits.mplot3d import Axes3D"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 25,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- ""
- ]
- },
- "execution_count": 25,
- "metadata": {},
- "output_type": "execute_result"
- },
- {
- "data": {
- "image/png": "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\nYSH+P08qICL5J7+ZAAAAAElFTkSuQmCC\n",
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
- "source": [
- "# Make data for the z axis:\n",
- "z = np.array([1, 5, 2, 7, 4, 6, 7, 3, 9, 9])\n",
- "fig = plt.figure()\n",
- "ax = fig.add_subplot(111, projection='3d')\n",
- "ax.scatter(x, y, z, color='green')\n",
- "plt.title(\"3D graph\")"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Take 5 minutes to create a graph of your own, even if it means making up data and pattern-matching. We want you to get a feel for what it's like to create your own graph. Here's template code if you want help getting started:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 41,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[ 3 10 4 6 9]\n",
- "[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24\n",
- " 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49\n",
- " 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74\n",
- " 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99]\n",
- "[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24\n",
- " 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49\n",
- " 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74\n",
- " 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99]\n"
- ]
- }
- ],
- "source": [
- "x_values = np.array(range(0, 100)) # Fill in with numpy array\n",
- "x_values2 = np.arange(0, 100) # same output as above\n",
- "\n",
- "rand_nums = np.random.random_integers(0, 10, 5)\n",
- "print(rand_nums)\n",
- "# y_values = _______ # Fill in with nump array\n",
- "\n",
- "# plt.plot(___, ___) # Fill in with parameters\n",
- "\n",
- "# Feel free to specify other things about your plot! For example,\n",
- "# give it a title and label the axes.\n",
- "print(x_values)\n",
- "print(x_values2)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Twitter Data Analysis"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Now we'll explore some of the data we get from the Twitter API using NumPy and Matplotlib. Let's look at the difference in attitudes to the former presidential candidats by location in the US. First, we need to construct a query. An easy way to do so is to use Twitter's [advanced search engine](https://twitter.com/search-advanced?lang=en)."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 50,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Search for tweets containing a positive attitude to 'hillary' or 'clinton' since October 1st\n",
- "query1 = \"hillary%20OR%20clinton%20%3A%29\"\n",
- "\n",
- "# Search for tweets containing a positive attitude to 'donald' or 'trump' since October 1st\n",
- "query2 = \"donald%20OR%20trump%20%3A%29\"\n",
- "\n",
- "results1 = api.search(query1)\n",
- "results2 = api.search(query2)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 51,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[Status(geo=None, is_quote_status=False, user=User(verified=False, utc_offset=None, entities={'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/1243785780/1478201800', followers_count=810, url=None, is_translation_enabled=False, location='', created_at=datetime.datetime(2013, 3, 5, 13, 57, 38), default_profile_image=False, profile_use_background_image=True, statuses_count=31836, protected=False, favourites_count=3946, profile_background_color='C0DEED', is_translator=False, profile_text_color='333333', profile_link_color='1DA1F2', _json={'default_profile': True, 'geo_enabled': True, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'utc_offset': None, 'entities': {'description': {'urls': []}}, 'listed_count': 7, 'profile_background_color': 'C0DEED', 'verified': False, 'followers_count': 810, 'url': None, 'friends_count': 473, 'is_translation_enabled': False, 'location': '', 'created_at': 'Tue Mar 05 13:57:38 +0000 2013', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': '11/29💕11/30❤️', 'statuses_count': 31836, 'profile_image_url': 'http://pbs.twimg.com/profile_images/780160039587868672/x7Z7_WMC_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 1243785780, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 3946, 'screen_name': 'PassionnTweets', 'is_translator': False, 'description': 'Dancer ❣: AMOSC:Passsion2x', 'id_str': '1243785780', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/1243785780/1478201800', 'has_extended_profile': False, 'time_zone': None, 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/780160039587868672/x7Z7_WMC_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/780160039587868672/x7Z7_WMC_normal.jpg', profile_background_image_url_https='https://abs.twimg.com/images/themes/theme1/bg.png', profile_background_tile=False, default_profile=True, geo_enabled=True, profile_background_image_url='http://abs.twimg.com/images/themes/theme1/bg.png', time_zone=None, listed_count=7, following=False, friends_count=473, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='11/29💕11/30❤️', profile_image_url='http://pbs.twimg.com/profile_images/780160039587868672/x7Z7_WMC_normal.jpg', id=1243785780, lang='en', description='Dancer ❣: AMOSC:Passsion2x', id_str='1243785780', has_extended_profile=False, screen_name='PassionnTweets', profile_sidebar_border_color='C0DEED'), text='RT @TheRealAddie: Hilly Hilly Hilly Clinton... 🇺🇸😂 https://t.co/Ww2leeGtqR', entities={'hashtags': [], 'symbols': [], 'urls': [], 'media': [{'source_status_id_str': '798307684537761796', 'id': 798307581223718913, 'media_url_https': 'https://pbs.twimg.com/ext_tw_video_thumb/798307581223718913/pu/img/BwakGWTmzykPExvV.jpg', 'id_str': '798307581223718913', 'type': 'photo', 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 340, 'w': 340}, 'large': {'resize': 'fit', 'h': 640, 'w': 640}, 'medium': {'resize': 'fit', 'h': 600, 'w': 600}}, 'source_status_id': 798307684537761796, 'url': 'https://t.co/Ww2leeGtqR', 'media_url': 'http://pbs.twimg.com/ext_tw_video_thumb/798307581223718913/pu/img/BwakGWTmzykPExvV.jpg', 'source_user_id': 338726054, 'source_user_id_str': '338726054', 'indices': [51, 74], 'display_url': 'pic.twitter.com/Ww2leeGtqR', 'expanded_url': 'https://twitter.com/TheRealAddie/status/798307684537761796/video/1'}], 'user_mentions': [{'screen_name': 'TheRealAddie', 'indices': [3, 16], 'id': 338726054, 'id_str': '338726054', 'name': 'ADDIE'}]}, possibly_sensitive=False, retweeted_status=Status(geo=None, is_quote_status=False, user=User(verified=False, utc_offset=-18000, entities={'url': {'urls': [{'url': 'https://t.co/lWYVVF2zBZ', 'indices': [0, 23], 'display_url': 'youtube.com/subscription_c…', 'expanded_url': 'http://www.youtube.com/subscription_center?add_user=addiietv'}]}, 'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/338726054/1471746327', followers_count=145332, url='https://t.co/lWYVVF2zBZ', is_translation_enabled=False, location='snapchat: realaddie', created_at=datetime.datetime(2011, 7, 20, 0, 38, 3), default_profile_image=False, profile_use_background_image=True, statuses_count=20235, protected=False, favourites_count=7534, profile_background_color='FFFFFF', is_translator=False, profile_text_color='333333', profile_link_color='06B0B0', _json={'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/378800000179848771/wdKbM_V-.jpeg', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'https://t.co/lWYVVF2zBZ', 'indices': [0, 23], 'display_url': 'youtube.com/subscription_c…', 'expanded_url': 'http://www.youtube.com/subscription_center?add_user=addiietv'}]}, 'description': {'urls': []}}, 'listed_count': 100, 'profile_background_color': 'FFFFFF', 'verified': False, 'followers_count': 145332, 'url': 'https://t.co/lWYVVF2zBZ', 'friends_count': 46251, 'is_translation_enabled': False, 'location': 'snapchat: realaddie', 'created_at': 'Wed Jul 20 00:38:03 +0000 2011', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'EFEFEF', 'name': 'ADDIE', 'statuses_count': 20235, 'profile_image_url': 'http://pbs.twimg.com/profile_images/777252420254654465/VI26YWIp_normal.jpg', 'profile_link_color': '06B0B0', 'following': False, 'id': 338726054, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 7534, 'screen_name': 'TheRealAddie', 'is_translator': False, 'description': 'Business (only): addieokoro@hotmail.com | YouTuber (49,000+ subscribers) | IG: TheRealAddie (checkout my likes for my videos)', 'id_str': '338726054', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/338726054/1471746327', 'has_extended_profile': True, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': '000000', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/777252420254654465/VI26YWIp_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/378800000179848771/wdKbM_V-.jpeg', 'profile_text_color': '333333', 'profile_background_tile': True}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/777252420254654465/VI26YWIp_normal.jpg', profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/378800000179848771/wdKbM_V-.jpeg', profile_background_tile=True, default_profile=False, geo_enabled=True, profile_background_image_url='http://pbs.twimg.com/profile_background_images/378800000179848771/wdKbM_V-.jpeg', time_zone='Eastern Time (US & Canada)', listed_count=100, following=False, friends_count=46251, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='EFEFEF', name='ADDIE', profile_image_url='http://pbs.twimg.com/profile_images/777252420254654465/VI26YWIp_normal.jpg', id=338726054, lang='en', description='Business (only): addieokoro@hotmail.com | YouTuber (49,000+ subscribers) | IG: TheRealAddie (checkout my likes for my videos)', id_str='338726054', has_extended_profile=True, screen_name='TheRealAddie', profile_sidebar_border_color='000000'), text='Hilly Hilly Hilly Clinton... 🇺🇸😂 https://t.co/Ww2leeGtqR', entities={'hashtags': [], 'symbols': [], 'urls': [], 'media': [{'url': 'https://t.co/Ww2leeGtqR', 'media_url': 'http://pbs.twimg.com/ext_tw_video_thumb/798307581223718913/pu/img/BwakGWTmzykPExvV.jpg', 'id': 798307581223718913, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 340, 'w': 340}, 'large': {'resize': 'fit', 'h': 640, 'w': 640}, 'medium': {'resize': 'fit', 'h': 600, 'w': 600}}, 'media_url_https': 'https://pbs.twimg.com/ext_tw_video_thumb/798307581223718913/pu/img/BwakGWTmzykPExvV.jpg', 'indices': [33, 56], 'display_url': 'pic.twitter.com/Ww2leeGtqR', 'type': 'photo', 'id_str': '798307581223718913', 'expanded_url': 'https://twitter.com/TheRealAddie/status/798307684537761796/video/1'}], 'user_mentions': []}, possibly_sensitive=False, in_reply_to_status_id=None, contributors=None, in_reply_to_screen_name=None, created_at=datetime.datetime(2016, 11, 14, 23, 32, 38), favorite_count=492, source_url='http://twitter.com/download/iphone', metadata={'iso_language_code': 'en', 'result_type': 'recent'}, source='Twitter for iPhone', in_reply_to_status_id_str=None, extended_entities={'media': [{'id': 798307581223718913, 'media_url_https': 'https://pbs.twimg.com/ext_tw_video_thumb/798307581223718913/pu/img/BwakGWTmzykPExvV.jpg', 'id_str': '798307581223718913', 'type': 'video', 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 340, 'w': 340}, 'large': {'resize': 'fit', 'h': 640, 'w': 640}, 'medium': {'resize': 'fit', 'h': 600, 'w': 600}}, 'url': 'https://t.co/Ww2leeGtqR', 'media_url': 'http://pbs.twimg.com/ext_tw_video_thumb/798307581223718913/pu/img/BwakGWTmzykPExvV.jpg', 'additional_media_info': {'monetizable': False}, 'indices': [33, 56], 'video_info': {'duration_millis': 46167, 'variants': [{'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/798307581223718913/pu/vid/480x480/5ci92R6ydUolBhyc.mp4', 'bitrate': 832000}, {'content_type': 'application/x-mpegURL', 'url': 'https://video.twimg.com/ext_tw_video/798307581223718913/pu/pl/K1iuZFyx-dGQEzr_.m3u8'}, {'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/798307581223718913/pu/vid/240x240/ENmze675unOyMwI7.mp4', 'bitrate': 320000}, {'content_type': 'application/dash+xml', 'url': 'https://video.twimg.com/ext_tw_video/798307581223718913/pu/pl/K1iuZFyx-dGQEzr_.mpd'}], 'aspect_ratio': [1, 1]}, 'display_url': 'pic.twitter.com/Ww2leeGtqR', 'expanded_url': 'https://twitter.com/TheRealAddie/status/798307684537761796/video/1'}]}, id=798307684537761796, in_reply_to_user_id=None, lang='en', in_reply_to_user_id_str=None, retweet_count=467, coordinates=None, retweeted=False, id_str='798307684537761796', truncated=False, favorited=False, _json={'geo': None, 'is_quote_status': False, 'user': {'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/378800000179848771/wdKbM_V-.jpeg', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'https://t.co/lWYVVF2zBZ', 'indices': [0, 23], 'display_url': 'youtube.com/subscription_c…', 'expanded_url': 'http://www.youtube.com/subscription_center?add_user=addiietv'}]}, 'description': {'urls': []}}, 'listed_count': 100, 'profile_background_color': 'FFFFFF', 'verified': False, 'followers_count': 145332, 'url': 'https://t.co/lWYVVF2zBZ', 'friends_count': 46251, 'is_translation_enabled': False, 'location': 'snapchat: realaddie', 'created_at': 'Wed Jul 20 00:38:03 +0000 2011', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'EFEFEF', 'name': 'ADDIE', 'statuses_count': 20235, 'profile_image_url': 'http://pbs.twimg.com/profile_images/777252420254654465/VI26YWIp_normal.jpg', 'profile_link_color': '06B0B0', 'following': False, 'id': 338726054, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 7534, 'screen_name': 'TheRealAddie', 'is_translator': False, 'description': 'Business (only): addieokoro@hotmail.com | YouTuber (49,000+ subscribers) | IG: TheRealAddie (checkout my likes for my videos)', 'id_str': '338726054', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/338726054/1471746327', 'has_extended_profile': True, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': '000000', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/777252420254654465/VI26YWIp_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/378800000179848771/wdKbM_V-.jpeg', 'profile_text_color': '333333', 'profile_background_tile': True}, 'text': 'Hilly Hilly Hilly Clinton... 🇺🇸😂 https://t.co/Ww2leeGtqR', 'entities': {'hashtags': [], 'symbols': [], 'urls': [], 'media': [{'url': 'https://t.co/Ww2leeGtqR', 'media_url': 'http://pbs.twimg.com/ext_tw_video_thumb/798307581223718913/pu/img/BwakGWTmzykPExvV.jpg', 'id': 798307581223718913, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 340, 'w': 340}, 'large': {'resize': 'fit', 'h': 640, 'w': 640}, 'medium': {'resize': 'fit', 'h': 600, 'w': 600}}, 'media_url_https': 'https://pbs.twimg.com/ext_tw_video_thumb/798307581223718913/pu/img/BwakGWTmzykPExvV.jpg', 'indices': [33, 56], 'display_url': 'pic.twitter.com/Ww2leeGtqR', 'type': 'photo', 'id_str': '798307581223718913', 'expanded_url': 'https://twitter.com/TheRealAddie/status/798307684537761796/video/1'}], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Mon Nov 14 23:32:38 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'Twitter for iPhone ', 'contributors': None, 'extended_entities': {'media': [{'id': 798307581223718913, 'media_url_https': 'https://pbs.twimg.com/ext_tw_video_thumb/798307581223718913/pu/img/BwakGWTmzykPExvV.jpg', 'id_str': '798307581223718913', 'type': 'video', 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 340, 'w': 340}, 'large': {'resize': 'fit', 'h': 640, 'w': 640}, 'medium': {'resize': 'fit', 'h': 600, 'w': 600}}, 'url': 'https://t.co/Ww2leeGtqR', 'media_url': 'http://pbs.twimg.com/ext_tw_video_thumb/798307581223718913/pu/img/BwakGWTmzykPExvV.jpg', 'additional_media_info': {'monetizable': False}, 'indices': [33, 56], 'video_info': {'duration_millis': 46167, 'variants': [{'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/798307581223718913/pu/vid/480x480/5ci92R6ydUolBhyc.mp4', 'bitrate': 832000}, {'content_type': 'application/x-mpegURL', 'url': 'https://video.twimg.com/ext_tw_video/798307581223718913/pu/pl/K1iuZFyx-dGQEzr_.m3u8'}, {'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/798307581223718913/pu/vid/240x240/ENmze675unOyMwI7.mp4', 'bitrate': 320000}, {'content_type': 'application/dash+xml', 'url': 'https://video.twimg.com/ext_tw_video/798307581223718913/pu/pl/K1iuZFyx-dGQEzr_.mpd'}], 'aspect_ratio': [1, 1]}, 'display_url': 'pic.twitter.com/Ww2leeGtqR', 'expanded_url': 'https://twitter.com/TheRealAddie/status/798307684537761796/video/1'}]}, 'id': 798307684537761796, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 467, 'coordinates': None, 'retweeted': False, 'id_str': '798307684537761796', 'truncated': False, 'place': None, 'favorite_count': 492}, _api=, place=None, author=User(verified=False, utc_offset=-18000, entities={'url': {'urls': [{'url': 'https://t.co/lWYVVF2zBZ', 'indices': [0, 23], 'display_url': 'youtube.com/subscription_c…', 'expanded_url': 'http://www.youtube.com/subscription_center?add_user=addiietv'}]}, 'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/338726054/1471746327', followers_count=145332, url='https://t.co/lWYVVF2zBZ', is_translation_enabled=False, location='snapchat: realaddie', created_at=datetime.datetime(2011, 7, 20, 0, 38, 3), default_profile_image=False, profile_use_background_image=True, statuses_count=20235, protected=False, favourites_count=7534, profile_background_color='FFFFFF', is_translator=False, profile_text_color='333333', profile_link_color='06B0B0', _json={'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/378800000179848771/wdKbM_V-.jpeg', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'https://t.co/lWYVVF2zBZ', 'indices': [0, 23], 'display_url': 'youtube.com/subscription_c…', 'expanded_url': 'http://www.youtube.com/subscription_center?add_user=addiietv'}]}, 'description': {'urls': []}}, 'listed_count': 100, 'profile_background_color': 'FFFFFF', 'verified': False, 'followers_count': 145332, 'url': 'https://t.co/lWYVVF2zBZ', 'friends_count': 46251, 'is_translation_enabled': False, 'location': 'snapchat: realaddie', 'created_at': 'Wed Jul 20 00:38:03 +0000 2011', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'EFEFEF', 'name': 'ADDIE', 'statuses_count': 20235, 'profile_image_url': 'http://pbs.twimg.com/profile_images/777252420254654465/VI26YWIp_normal.jpg', 'profile_link_color': '06B0B0', 'following': False, 'id': 338726054, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 7534, 'screen_name': 'TheRealAddie', 'is_translator': False, 'description': 'Business (only): addieokoro@hotmail.com | YouTuber (49,000+ subscribers) | IG: TheRealAddie (checkout my likes for my videos)', 'id_str': '338726054', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/338726054/1471746327', 'has_extended_profile': True, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': '000000', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/777252420254654465/VI26YWIp_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/378800000179848771/wdKbM_V-.jpeg', 'profile_text_color': '333333', 'profile_background_tile': True}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/777252420254654465/VI26YWIp_normal.jpg', profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/378800000179848771/wdKbM_V-.jpeg', profile_background_tile=True, default_profile=False, geo_enabled=True, profile_background_image_url='http://pbs.twimg.com/profile_background_images/378800000179848771/wdKbM_V-.jpeg', time_zone='Eastern Time (US & Canada)', listed_count=100, following=False, friends_count=46251, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='EFEFEF', name='ADDIE', profile_image_url='http://pbs.twimg.com/profile_images/777252420254654465/VI26YWIp_normal.jpg', id=338726054, lang='en', description='Business (only): addieokoro@hotmail.com | YouTuber (49,000+ subscribers) | IG: TheRealAddie (checkout my likes for my videos)', id_str='338726054', has_extended_profile=True, screen_name='TheRealAddie', profile_sidebar_border_color='000000')), in_reply_to_status_id=None, contributors=None, in_reply_to_screen_name=None, created_at=datetime.datetime(2016, 11, 15, 1, 20, 2), favorite_count=0, source_url='http://twitter.com/download/iphone', metadata={'iso_language_code': 'en', 'result_type': 'recent'}, source='Twitter for iPhone', in_reply_to_status_id_str=None, extended_entities={'media': [{'source_status_id_str': '798307684537761796', 'id': 798307581223718913, 'media_url_https': 'https://pbs.twimg.com/ext_tw_video_thumb/798307581223718913/pu/img/BwakGWTmzykPExvV.jpg', 'id_str': '798307581223718913', 'type': 'video', 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 340, 'w': 340}, 'large': {'resize': 'fit', 'h': 640, 'w': 640}, 'medium': {'resize': 'fit', 'h': 600, 'w': 600}}, 'source_status_id': 798307684537761796, 'url': 'https://t.co/Ww2leeGtqR', 'media_url': 'http://pbs.twimg.com/ext_tw_video_thumb/798307581223718913/pu/img/BwakGWTmzykPExvV.jpg', 'source_user_id': 338726054, 'additional_media_info': {'monetizable': False, 'source_user': {'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/378800000179848771/wdKbM_V-.jpeg', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'https://t.co/lWYVVF2zBZ', 'indices': [0, 23], 'display_url': 'youtube.com/subscription_c…', 'expanded_url': 'http://www.youtube.com/subscription_center?add_user=addiietv'}]}, 'description': {'urls': []}}, 'listed_count': 100, 'profile_background_color': 'FFFFFF', 'verified': False, 'followers_count': 145332, 'url': 'https://t.co/lWYVVF2zBZ', 'friends_count': 46251, 'is_translation_enabled': False, 'location': 'snapchat: realaddie', 'created_at': 'Wed Jul 20 00:38:03 +0000 2011', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'EFEFEF', 'name': 'ADDIE', 'statuses_count': 20235, 'profile_image_url': 'http://pbs.twimg.com/profile_images/777252420254654465/VI26YWIp_normal.jpg', 'profile_link_color': '06B0B0', 'following': False, 'id': 338726054, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 7534, 'screen_name': 'TheRealAddie', 'is_translator': False, 'description': 'Business (only): addieokoro@hotmail.com | YouTuber (49,000+ subscribers) | IG: TheRealAddie (checkout my likes for my videos)', 'id_str': '338726054', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/338726054/1471746327', 'has_extended_profile': True, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': '000000', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/777252420254654465/VI26YWIp_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/378800000179848771/wdKbM_V-.jpeg', 'profile_text_color': '333333', 'profile_background_tile': True}}, 'source_user_id_str': '338726054', 'indices': [51, 74], 'video_info': {'duration_millis': 46167, 'variants': [{'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/798307581223718913/pu/vid/480x480/5ci92R6ydUolBhyc.mp4', 'bitrate': 832000}, {'content_type': 'application/x-mpegURL', 'url': 'https://video.twimg.com/ext_tw_video/798307581223718913/pu/pl/K1iuZFyx-dGQEzr_.m3u8'}, {'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/798307581223718913/pu/vid/240x240/ENmze675unOyMwI7.mp4', 'bitrate': 320000}, {'content_type': 'application/dash+xml', 'url': 'https://video.twimg.com/ext_tw_video/798307581223718913/pu/pl/K1iuZFyx-dGQEzr_.mpd'}], 'aspect_ratio': [1, 1]}, 'display_url': 'pic.twitter.com/Ww2leeGtqR', 'expanded_url': 'https://twitter.com/TheRealAddie/status/798307684537761796/video/1'}]}, id=798334711537897472, in_reply_to_user_id=None, lang='en', in_reply_to_user_id_str=None, retweet_count=467, coordinates=None, retweeted=False, id_str='798334711537897472', truncated=False, favorited=False, _json={'geo': None, 'is_quote_status': False, 'user': {'default_profile': True, 'geo_enabled': True, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'utc_offset': None, 'entities': {'description': {'urls': []}}, 'listed_count': 7, 'profile_background_color': 'C0DEED', 'verified': False, 'followers_count': 810, 'url': None, 'friends_count': 473, 'is_translation_enabled': False, 'location': '', 'created_at': 'Tue Mar 05 13:57:38 +0000 2013', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': '11/29💕11/30❤️', 'statuses_count': 31836, 'profile_image_url': 'http://pbs.twimg.com/profile_images/780160039587868672/x7Z7_WMC_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 1243785780, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 3946, 'screen_name': 'PassionnTweets', 'is_translator': False, 'description': 'Dancer ❣: AMOSC:Passsion2x', 'id_str': '1243785780', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/1243785780/1478201800', 'has_extended_profile': False, 'time_zone': None, 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/780160039587868672/x7Z7_WMC_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_text_color': '333333', 'profile_background_tile': False}, 'text': 'RT @TheRealAddie: Hilly Hilly Hilly Clinton... 🇺🇸😂 https://t.co/Ww2leeGtqR', 'entities': {'hashtags': [], 'symbols': [], 'urls': [], 'media': [{'source_status_id_str': '798307684537761796', 'id': 798307581223718913, 'media_url_https': 'https://pbs.twimg.com/ext_tw_video_thumb/798307581223718913/pu/img/BwakGWTmzykPExvV.jpg', 'id_str': '798307581223718913', 'type': 'photo', 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 340, 'w': 340}, 'large': {'resize': 'fit', 'h': 640, 'w': 640}, 'medium': {'resize': 'fit', 'h': 600, 'w': 600}}, 'source_status_id': 798307684537761796, 'url': 'https://t.co/Ww2leeGtqR', 'media_url': 'http://pbs.twimg.com/ext_tw_video_thumb/798307581223718913/pu/img/BwakGWTmzykPExvV.jpg', 'source_user_id': 338726054, 'source_user_id_str': '338726054', 'indices': [51, 74], 'display_url': 'pic.twitter.com/Ww2leeGtqR', 'expanded_url': 'https://twitter.com/TheRealAddie/status/798307684537761796/video/1'}], 'user_mentions': [{'screen_name': 'TheRealAddie', 'indices': [3, 16], 'id': 338726054, 'id_str': '338726054', 'name': 'ADDIE'}]}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Tue Nov 15 01:20:02 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'Twitter for iPhone ', 'contributors': None, 'extended_entities': {'media': [{'source_status_id_str': '798307684537761796', 'id': 798307581223718913, 'media_url_https': 'https://pbs.twimg.com/ext_tw_video_thumb/798307581223718913/pu/img/BwakGWTmzykPExvV.jpg', 'id_str': '798307581223718913', 'type': 'video', 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 340, 'w': 340}, 'large': {'resize': 'fit', 'h': 640, 'w': 640}, 'medium': {'resize': 'fit', 'h': 600, 'w': 600}}, 'source_status_id': 798307684537761796, 'url': 'https://t.co/Ww2leeGtqR', 'media_url': 'http://pbs.twimg.com/ext_tw_video_thumb/798307581223718913/pu/img/BwakGWTmzykPExvV.jpg', 'source_user_id': 338726054, 'additional_media_info': {'monetizable': False, 'source_user': {'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/378800000179848771/wdKbM_V-.jpeg', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'https://t.co/lWYVVF2zBZ', 'indices': [0, 23], 'display_url': 'youtube.com/subscription_c…', 'expanded_url': 'http://www.youtube.com/subscription_center?add_user=addiietv'}]}, 'description': {'urls': []}}, 'listed_count': 100, 'profile_background_color': 'FFFFFF', 'verified': False, 'followers_count': 145332, 'url': 'https://t.co/lWYVVF2zBZ', 'friends_count': 46251, 'is_translation_enabled': False, 'location': 'snapchat: realaddie', 'created_at': 'Wed Jul 20 00:38:03 +0000 2011', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'EFEFEF', 'name': 'ADDIE', 'statuses_count': 20235, 'profile_image_url': 'http://pbs.twimg.com/profile_images/777252420254654465/VI26YWIp_normal.jpg', 'profile_link_color': '06B0B0', 'following': False, 'id': 338726054, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 7534, 'screen_name': 'TheRealAddie', 'is_translator': False, 'description': 'Business (only): addieokoro@hotmail.com | YouTuber (49,000+ subscribers) | IG: TheRealAddie (checkout my likes for my videos)', 'id_str': '338726054', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/338726054/1471746327', 'has_extended_profile': True, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': '000000', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/777252420254654465/VI26YWIp_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/378800000179848771/wdKbM_V-.jpeg', 'profile_text_color': '333333', 'profile_background_tile': True}}, 'source_user_id_str': '338726054', 'indices': [51, 74], 'video_info': {'duration_millis': 46167, 'variants': [{'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/798307581223718913/pu/vid/480x480/5ci92R6ydUolBhyc.mp4', 'bitrate': 832000}, {'content_type': 'application/x-mpegURL', 'url': 'https://video.twimg.com/ext_tw_video/798307581223718913/pu/pl/K1iuZFyx-dGQEzr_.m3u8'}, {'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/798307581223718913/pu/vid/240x240/ENmze675unOyMwI7.mp4', 'bitrate': 320000}, {'content_type': 'application/dash+xml', 'url': 'https://video.twimg.com/ext_tw_video/798307581223718913/pu/pl/K1iuZFyx-dGQEzr_.mpd'}], 'aspect_ratio': [1, 1]}, 'display_url': 'pic.twitter.com/Ww2leeGtqR', 'expanded_url': 'https://twitter.com/TheRealAddie/status/798307684537761796/video/1'}]}, 'id': 798334711537897472, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 467, 'coordinates': None, 'retweeted': False, 'id_str': '798334711537897472', 'truncated': False, 'place': None, 'favorite_count': 0, 'retweeted_status': {'geo': None, 'is_quote_status': False, 'user': {'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/378800000179848771/wdKbM_V-.jpeg', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'https://t.co/lWYVVF2zBZ', 'indices': [0, 23], 'display_url': 'youtube.com/subscription_c…', 'expanded_url': 'http://www.youtube.com/subscription_center?add_user=addiietv'}]}, 'description': {'urls': []}}, 'listed_count': 100, 'profile_background_color': 'FFFFFF', 'verified': False, 'followers_count': 145332, 'url': 'https://t.co/lWYVVF2zBZ', 'friends_count': 46251, 'is_translation_enabled': False, 'location': 'snapchat: realaddie', 'created_at': 'Wed Jul 20 00:38:03 +0000 2011', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'EFEFEF', 'name': 'ADDIE', 'statuses_count': 20235, 'profile_image_url': 'http://pbs.twimg.com/profile_images/777252420254654465/VI26YWIp_normal.jpg', 'profile_link_color': '06B0B0', 'following': False, 'id': 338726054, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 7534, 'screen_name': 'TheRealAddie', 'is_translator': False, 'description': 'Business (only): addieokoro@hotmail.com | YouTuber (49,000+ subscribers) | IG: TheRealAddie (checkout my likes for my videos)', 'id_str': '338726054', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/338726054/1471746327', 'has_extended_profile': True, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': '000000', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/777252420254654465/VI26YWIp_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/378800000179848771/wdKbM_V-.jpeg', 'profile_text_color': '333333', 'profile_background_tile': True}, 'text': 'Hilly Hilly Hilly Clinton... 🇺🇸😂 https://t.co/Ww2leeGtqR', 'entities': {'hashtags': [], 'symbols': [], 'urls': [], 'media': [{'url': 'https://t.co/Ww2leeGtqR', 'media_url': 'http://pbs.twimg.com/ext_tw_video_thumb/798307581223718913/pu/img/BwakGWTmzykPExvV.jpg', 'id': 798307581223718913, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 340, 'w': 340}, 'large': {'resize': 'fit', 'h': 640, 'w': 640}, 'medium': {'resize': 'fit', 'h': 600, 'w': 600}}, 'media_url_https': 'https://pbs.twimg.com/ext_tw_video_thumb/798307581223718913/pu/img/BwakGWTmzykPExvV.jpg', 'indices': [33, 56], 'display_url': 'pic.twitter.com/Ww2leeGtqR', 'type': 'photo', 'id_str': '798307581223718913', 'expanded_url': 'https://twitter.com/TheRealAddie/status/798307684537761796/video/1'}], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Mon Nov 14 23:32:38 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'Twitter for iPhone ', 'contributors': None, 'extended_entities': {'media': [{'id': 798307581223718913, 'media_url_https': 'https://pbs.twimg.com/ext_tw_video_thumb/798307581223718913/pu/img/BwakGWTmzykPExvV.jpg', 'id_str': '798307581223718913', 'type': 'video', 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 340, 'w': 340}, 'large': {'resize': 'fit', 'h': 640, 'w': 640}, 'medium': {'resize': 'fit', 'h': 600, 'w': 600}}, 'url': 'https://t.co/Ww2leeGtqR', 'media_url': 'http://pbs.twimg.com/ext_tw_video_thumb/798307581223718913/pu/img/BwakGWTmzykPExvV.jpg', 'additional_media_info': {'monetizable': False}, 'indices': [33, 56], 'video_info': {'duration_millis': 46167, 'variants': [{'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/798307581223718913/pu/vid/480x480/5ci92R6ydUolBhyc.mp4', 'bitrate': 832000}, {'content_type': 'application/x-mpegURL', 'url': 'https://video.twimg.com/ext_tw_video/798307581223718913/pu/pl/K1iuZFyx-dGQEzr_.m3u8'}, {'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/798307581223718913/pu/vid/240x240/ENmze675unOyMwI7.mp4', 'bitrate': 320000}, {'content_type': 'application/dash+xml', 'url': 'https://video.twimg.com/ext_tw_video/798307581223718913/pu/pl/K1iuZFyx-dGQEzr_.mpd'}], 'aspect_ratio': [1, 1]}, 'display_url': 'pic.twitter.com/Ww2leeGtqR', 'expanded_url': 'https://twitter.com/TheRealAddie/status/798307684537761796/video/1'}]}, 'id': 798307684537761796, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 467, 'coordinates': None, 'retweeted': False, 'id_str': '798307684537761796', 'truncated': False, 'place': None, 'favorite_count': 492}}, _api=, place=None, author=User(verified=False, utc_offset=None, entities={'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/1243785780/1478201800', followers_count=810, url=None, is_translation_enabled=False, location='', created_at=datetime.datetime(2013, 3, 5, 13, 57, 38), default_profile_image=False, profile_use_background_image=True, statuses_count=31836, protected=False, favourites_count=3946, profile_background_color='C0DEED', is_translator=False, profile_text_color='333333', profile_link_color='1DA1F2', _json={'default_profile': True, 'geo_enabled': True, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'utc_offset': None, 'entities': {'description': {'urls': []}}, 'listed_count': 7, 'profile_background_color': 'C0DEED', 'verified': False, 'followers_count': 810, 'url': None, 'friends_count': 473, 'is_translation_enabled': False, 'location': '', 'created_at': 'Tue Mar 05 13:57:38 +0000 2013', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': '11/29💕11/30❤️', 'statuses_count': 31836, 'profile_image_url': 'http://pbs.twimg.com/profile_images/780160039587868672/x7Z7_WMC_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 1243785780, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 3946, 'screen_name': 'PassionnTweets', 'is_translator': False, 'description': 'Dancer ❣: AMOSC:Passsion2x', 'id_str': '1243785780', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/1243785780/1478201800', 'has_extended_profile': False, 'time_zone': None, 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/780160039587868672/x7Z7_WMC_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/780160039587868672/x7Z7_WMC_normal.jpg', profile_background_image_url_https='https://abs.twimg.com/images/themes/theme1/bg.png', profile_background_tile=False, default_profile=True, geo_enabled=True, profile_background_image_url='http://abs.twimg.com/images/themes/theme1/bg.png', time_zone=None, listed_count=7, following=False, friends_count=473, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='11/29💕11/30❤️', profile_image_url='http://pbs.twimg.com/profile_images/780160039587868672/x7Z7_WMC_normal.jpg', id=1243785780, lang='en', description='Dancer ❣: AMOSC:Passsion2x', id_str='1243785780', has_extended_profile=False, screen_name='PassionnTweets', profile_sidebar_border_color='C0DEED')), Status(geo=None, is_quote_status=False, user=User(verified=False, utc_offset=-18000, entities={'url': {'urls': [{'url': 'https://t.co/EB0AZwNsDS', 'indices': [0, 23], 'display_url': 'tinyurl.com/oa22vb', 'expanded_url': 'http://tinyurl.com/oa22vb'}]}, 'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/9244632/1463090982', followers_count=4687, url='https://t.co/EB0AZwNsDS', is_translation_enabled=False, location='Framingham, MA', created_at=datetime.datetime(2007, 10, 4, 14, 5, 40), default_profile_image=False, profile_use_background_image=True, statuses_count=21599, protected=False, favourites_count=21831, profile_background_color='EDECE9', is_translator=False, profile_text_color='634047', profile_link_color='1584D9', _json={'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/6923581/small_scoob.jpg', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'https://t.co/EB0AZwNsDS', 'indices': [0, 23], 'display_url': 'tinyurl.com/oa22vb', 'expanded_url': 'http://tinyurl.com/oa22vb'}]}, 'description': {'urls': []}}, 'listed_count': 86, 'profile_background_color': 'EDECE9', 'verified': False, 'followers_count': 4687, 'url': 'https://t.co/EB0AZwNsDS', 'friends_count': 4878, 'is_translation_enabled': False, 'location': 'Framingham, MA', 'created_at': 'Thu Oct 04 14:05:40 +0000 2007', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'E3E2DE', 'name': 'gail', 'statuses_count': 21599, 'profile_image_url': 'http://pbs.twimg.com/profile_images/709082178466947073/RGg3Zwn8_normal.jpg', 'profile_link_color': '1584D9', 'following': False, 'id': 9244632, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 21831, 'screen_name': 'gailbuckley', 'is_translator': False, 'description': 'I ❤️ #God #Family #Country #Harleys #Guns #Animals #NRA #USCONSTITUTION #Trump2016 #MAGA #VoteTrump2016', 'id_str': '9244632', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/9244632/1463090982', 'has_extended_profile': False, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'D3D2CF', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/709082178466947073/RGg3Zwn8_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/6923581/small_scoob.jpg', 'profile_text_color': '634047', 'profile_background_tile': True}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/709082178466947073/RGg3Zwn8_normal.jpg', profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/6923581/small_scoob.jpg', profile_background_tile=True, default_profile=False, geo_enabled=True, profile_background_image_url='http://pbs.twimg.com/profile_background_images/6923581/small_scoob.jpg', time_zone='Eastern Time (US & Canada)', listed_count=86, following=False, friends_count=4878, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='E3E2DE', name='gail', profile_image_url='http://pbs.twimg.com/profile_images/709082178466947073/RGg3Zwn8_normal.jpg', id=9244632, lang='en', description='I ❤️ #God #Family #Country #Harleys #Guns #Animals #NRA #USCONSTITUTION #Trump2016 #MAGA #VoteTrump2016', id_str='9244632', has_extended_profile=False, screen_name='gailbuckley', profile_sidebar_border_color='D3D2CF'), text='RT @kincannon_show: CNN reporter tells me Hillary became physically violent towards Robby Mook and John Podesta around midnight; had to be…', entities={'hashtags': [], 'symbols': [], 'urls': [], 'user_mentions': [{'screen_name': 'kincannon_show', 'indices': [3, 18], 'id': 714920195400269826, 'id_str': '714920195400269826', 'name': 'The Kincannon Show'}]}, retweeted_status=Status(geo=None, is_quote_status=False, user=User(verified=False, utc_offset=-28800, entities={'description': {'urls': []}}, followers_count=10907, url=None, is_translation_enabled=False, location='', created_at=datetime.datetime(2016, 3, 29, 21, 0, 31), default_profile_image=False, profile_use_background_image=True, statuses_count=31390, protected=False, favourites_count=6525, profile_background_color='F5F8FA', is_translator=False, profile_text_color='333333', profile_link_color='1DA1F2', _json={'default_profile': True, 'geo_enabled': False, 'profile_background_image_url': None, 'utc_offset': -28800, 'entities': {'description': {'urls': []}}, 'listed_count': 221, 'profile_background_color': 'F5F8FA', 'verified': False, 'followers_count': 10907, 'url': None, 'friends_count': 7952, 'is_translation_enabled': False, 'location': '', 'created_at': 'Tue Mar 29 21:00:31 +0000 2016', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'The Kincannon Show', 'statuses_count': 31390, 'profile_image_url': 'http://pbs.twimg.com/profile_images/714921144902631424/UxoPDnky_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 714920195400269826, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 6525, 'screen_name': 'kincannon_show', 'is_translator': False, 'description': \"Official Twitter Account for The Honey Badger of American Politics' Radio Show! #MakeTwitterGreatAgain \\nTweets by staff (not JTK) signed with '-st'\", 'id_str': '714920195400269826', 'has_extended_profile': False, 'time_zone': 'Pacific Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/714921144902631424/UxoPDnky_normal.jpg', 'profile_background_image_url_https': None, 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/714921144902631424/UxoPDnky_normal.jpg', profile_background_image_url_https=None, profile_background_tile=False, default_profile=True, geo_enabled=False, profile_background_image_url=None, time_zone='Pacific Time (US & Canada)', listed_count=221, following=False, friends_count=7952, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='The Kincannon Show', profile_image_url='http://pbs.twimg.com/profile_images/714921144902631424/UxoPDnky_normal.jpg', id=714920195400269826, lang='en', description=\"Official Twitter Account for The Honey Badger of American Politics' Radio Show! #MakeTwitterGreatAgain \\nTweets by staff (not JTK) signed with '-st'\", id_str='714920195400269826', has_extended_profile=False, screen_name='kincannon_show', profile_sidebar_border_color='C0DEED'), text='CNN reporter tells me Hillary became physically violent towards Robby Mook and John Podesta around midnight; had to be briefly restrained.', entities={'hashtags': [], 'symbols': [], 'urls': [], 'user_mentions': []}, in_reply_to_status_id=None, contributors=None, in_reply_to_screen_name=None, created_at=datetime.datetime(2016, 11, 14, 20, 39, 34), favorite_count=3714, source_url='http://twitter.com', metadata={'iso_language_code': 'en', 'result_type': 'recent'}, source='Twitter Web Client', in_reply_to_status_id_str=None, id=798264132055302144, in_reply_to_user_id=None, lang='en', in_reply_to_user_id_str=None, retweet_count=3334, coordinates=None, retweeted=False, id_str='798264132055302144', truncated=False, favorited=False, _json={'geo': None, 'is_quote_status': False, 'user': {'default_profile': True, 'geo_enabled': False, 'profile_background_image_url': None, 'utc_offset': -28800, 'entities': {'description': {'urls': []}}, 'listed_count': 221, 'profile_background_color': 'F5F8FA', 'verified': False, 'followers_count': 10907, 'url': None, 'friends_count': 7952, 'is_translation_enabled': False, 'location': '', 'created_at': 'Tue Mar 29 21:00:31 +0000 2016', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'The Kincannon Show', 'statuses_count': 31390, 'profile_image_url': 'http://pbs.twimg.com/profile_images/714921144902631424/UxoPDnky_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 714920195400269826, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 6525, 'screen_name': 'kincannon_show', 'is_translator': False, 'description': \"Official Twitter Account for The Honey Badger of American Politics' Radio Show! #MakeTwitterGreatAgain \\nTweets by staff (not JTK) signed with '-st'\", 'id_str': '714920195400269826', 'has_extended_profile': False, 'time_zone': 'Pacific Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/714921144902631424/UxoPDnky_normal.jpg', 'profile_background_image_url_https': None, 'profile_text_color': '333333', 'profile_background_tile': False}, 'text': 'CNN reporter tells me Hillary became physically violent towards Robby Mook and John Podesta around midnight; had to be briefly restrained.', 'entities': {'hashtags': [], 'symbols': [], 'urls': [], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Mon Nov 14 20:39:34 +0000 2016', 'lang': 'en', 'source': 'Twitter Web Client ', 'contributors': None, 'id': 798264132055302144, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 3334, 'coordinates': None, 'retweeted': False, 'id_str': '798264132055302144', 'truncated': False, 'place': None, 'favorite_count': 3714}, _api=, place=None, author=User(verified=False, utc_offset=-28800, entities={'description': {'urls': []}}, followers_count=10907, url=None, is_translation_enabled=False, location='', created_at=datetime.datetime(2016, 3, 29, 21, 0, 31), default_profile_image=False, profile_use_background_image=True, statuses_count=31390, protected=False, favourites_count=6525, profile_background_color='F5F8FA', is_translator=False, profile_text_color='333333', profile_link_color='1DA1F2', _json={'default_profile': True, 'geo_enabled': False, 'profile_background_image_url': None, 'utc_offset': -28800, 'entities': {'description': {'urls': []}}, 'listed_count': 221, 'profile_background_color': 'F5F8FA', 'verified': False, 'followers_count': 10907, 'url': None, 'friends_count': 7952, 'is_translation_enabled': False, 'location': '', 'created_at': 'Tue Mar 29 21:00:31 +0000 2016', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'The Kincannon Show', 'statuses_count': 31390, 'profile_image_url': 'http://pbs.twimg.com/profile_images/714921144902631424/UxoPDnky_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 714920195400269826, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 6525, 'screen_name': 'kincannon_show', 'is_translator': False, 'description': \"Official Twitter Account for The Honey Badger of American Politics' Radio Show! #MakeTwitterGreatAgain \\nTweets by staff (not JTK) signed with '-st'\", 'id_str': '714920195400269826', 'has_extended_profile': False, 'time_zone': 'Pacific Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/714921144902631424/UxoPDnky_normal.jpg', 'profile_background_image_url_https': None, 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/714921144902631424/UxoPDnky_normal.jpg', profile_background_image_url_https=None, profile_background_tile=False, default_profile=True, geo_enabled=False, profile_background_image_url=None, time_zone='Pacific Time (US & Canada)', listed_count=221, following=False, friends_count=7952, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='The Kincannon Show', profile_image_url='http://pbs.twimg.com/profile_images/714921144902631424/UxoPDnky_normal.jpg', id=714920195400269826, lang='en', description=\"Official Twitter Account for The Honey Badger of American Politics' Radio Show! #MakeTwitterGreatAgain \\nTweets by staff (not JTK) signed with '-st'\", id_str='714920195400269826', has_extended_profile=False, screen_name='kincannon_show', profile_sidebar_border_color='C0DEED')), in_reply_to_status_id=None, contributors=None, in_reply_to_screen_name=None, created_at=datetime.datetime(2016, 11, 15, 1, 20, 2), favorite_count=0, source_url='http://twitter.com/#!/download/ipad', metadata={'iso_language_code': 'en', 'result_type': 'recent'}, source='Twitter for iPad', in_reply_to_status_id_str=None, id=798334711437398016, in_reply_to_user_id=None, lang='en', in_reply_to_user_id_str=None, retweet_count=3334, coordinates=None, retweeted=False, id_str='798334711437398016', truncated=False, favorited=False, _json={'geo': None, 'is_quote_status': False, 'user': {'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/6923581/small_scoob.jpg', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'https://t.co/EB0AZwNsDS', 'indices': [0, 23], 'display_url': 'tinyurl.com/oa22vb', 'expanded_url': 'http://tinyurl.com/oa22vb'}]}, 'description': {'urls': []}}, 'listed_count': 86, 'profile_background_color': 'EDECE9', 'verified': False, 'followers_count': 4687, 'url': 'https://t.co/EB0AZwNsDS', 'friends_count': 4878, 'is_translation_enabled': False, 'location': 'Framingham, MA', 'created_at': 'Thu Oct 04 14:05:40 +0000 2007', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'E3E2DE', 'name': 'gail', 'statuses_count': 21599, 'profile_image_url': 'http://pbs.twimg.com/profile_images/709082178466947073/RGg3Zwn8_normal.jpg', 'profile_link_color': '1584D9', 'following': False, 'id': 9244632, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 21831, 'screen_name': 'gailbuckley', 'is_translator': False, 'description': 'I ❤️ #God #Family #Country #Harleys #Guns #Animals #NRA #USCONSTITUTION #Trump2016 #MAGA #VoteTrump2016', 'id_str': '9244632', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/9244632/1463090982', 'has_extended_profile': False, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'D3D2CF', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/709082178466947073/RGg3Zwn8_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/6923581/small_scoob.jpg', 'profile_text_color': '634047', 'profile_background_tile': True}, 'text': 'RT @kincannon_show: CNN reporter tells me Hillary became physically violent towards Robby Mook and John Podesta around midnight; had to be…', 'entities': {'hashtags': [], 'symbols': [], 'urls': [], 'user_mentions': [{'screen_name': 'kincannon_show', 'indices': [3, 18], 'id': 714920195400269826, 'id_str': '714920195400269826', 'name': 'The Kincannon Show'}]}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Tue Nov 15 01:20:02 +0000 2016', 'lang': 'en', 'source': 'Twitter for iPad ', 'contributors': None, 'id': 798334711437398016, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 3334, 'coordinates': None, 'retweeted': False, 'id_str': '798334711437398016', 'truncated': False, 'place': None, 'favorite_count': 0, 'retweeted_status': {'geo': None, 'is_quote_status': False, 'user': {'default_profile': True, 'geo_enabled': False, 'profile_background_image_url': None, 'utc_offset': -28800, 'entities': {'description': {'urls': []}}, 'listed_count': 221, 'profile_background_color': 'F5F8FA', 'verified': False, 'followers_count': 10907, 'url': None, 'friends_count': 7952, 'is_translation_enabled': False, 'location': '', 'created_at': 'Tue Mar 29 21:00:31 +0000 2016', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'The Kincannon Show', 'statuses_count': 31390, 'profile_image_url': 'http://pbs.twimg.com/profile_images/714921144902631424/UxoPDnky_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 714920195400269826, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 6525, 'screen_name': 'kincannon_show', 'is_translator': False, 'description': \"Official Twitter Account for The Honey Badger of American Politics' Radio Show! #MakeTwitterGreatAgain \\nTweets by staff (not JTK) signed with '-st'\", 'id_str': '714920195400269826', 'has_extended_profile': False, 'time_zone': 'Pacific Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/714921144902631424/UxoPDnky_normal.jpg', 'profile_background_image_url_https': None, 'profile_text_color': '333333', 'profile_background_tile': False}, 'text': 'CNN reporter tells me Hillary became physically violent towards Robby Mook and John Podesta around midnight; had to be briefly restrained.', 'entities': {'hashtags': [], 'symbols': [], 'urls': [], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Mon Nov 14 20:39:34 +0000 2016', 'lang': 'en', 'source': 'Twitter Web Client ', 'contributors': None, 'id': 798264132055302144, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 3334, 'coordinates': None, 'retweeted': False, 'id_str': '798264132055302144', 'truncated': False, 'place': None, 'favorite_count': 3714}}, _api=, place=None, author=User(verified=False, utc_offset=-18000, entities={'url': {'urls': [{'url': 'https://t.co/EB0AZwNsDS', 'indices': [0, 23], 'display_url': 'tinyurl.com/oa22vb', 'expanded_url': 'http://tinyurl.com/oa22vb'}]}, 'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/9244632/1463090982', followers_count=4687, url='https://t.co/EB0AZwNsDS', is_translation_enabled=False, location='Framingham, MA', created_at=datetime.datetime(2007, 10, 4, 14, 5, 40), default_profile_image=False, profile_use_background_image=True, statuses_count=21599, protected=False, favourites_count=21831, profile_background_color='EDECE9', is_translator=False, profile_text_color='634047', profile_link_color='1584D9', _json={'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/6923581/small_scoob.jpg', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'https://t.co/EB0AZwNsDS', 'indices': [0, 23], 'display_url': 'tinyurl.com/oa22vb', 'expanded_url': 'http://tinyurl.com/oa22vb'}]}, 'description': {'urls': []}}, 'listed_count': 86, 'profile_background_color': 'EDECE9', 'verified': False, 'followers_count': 4687, 'url': 'https://t.co/EB0AZwNsDS', 'friends_count': 4878, 'is_translation_enabled': False, 'location': 'Framingham, MA', 'created_at': 'Thu Oct 04 14:05:40 +0000 2007', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'E3E2DE', 'name': 'gail', 'statuses_count': 21599, 'profile_image_url': 'http://pbs.twimg.com/profile_images/709082178466947073/RGg3Zwn8_normal.jpg', 'profile_link_color': '1584D9', 'following': False, 'id': 9244632, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 21831, 'screen_name': 'gailbuckley', 'is_translator': False, 'description': 'I ❤️ #God #Family #Country #Harleys #Guns #Animals #NRA #USCONSTITUTION #Trump2016 #MAGA #VoteTrump2016', 'id_str': '9244632', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/9244632/1463090982', 'has_extended_profile': False, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'D3D2CF', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/709082178466947073/RGg3Zwn8_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/6923581/small_scoob.jpg', 'profile_text_color': '634047', 'profile_background_tile': True}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/709082178466947073/RGg3Zwn8_normal.jpg', profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/6923581/small_scoob.jpg', profile_background_tile=True, default_profile=False, geo_enabled=True, profile_background_image_url='http://pbs.twimg.com/profile_background_images/6923581/small_scoob.jpg', time_zone='Eastern Time (US & Canada)', listed_count=86, following=False, friends_count=4878, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='E3E2DE', name='gail', profile_image_url='http://pbs.twimg.com/profile_images/709082178466947073/RGg3Zwn8_normal.jpg', id=9244632, lang='en', description='I ❤️ #God #Family #Country #Harleys #Guns #Animals #NRA #USCONSTITUTION #Trump2016 #MAGA #VoteTrump2016', id_str='9244632', has_extended_profile=False, screen_name='gailbuckley', profile_sidebar_border_color='D3D2CF')), Status(geo=None, is_quote_status=False, user=User(verified=False, utc_offset=-28800, entities={'description': {'urls': []}}, followers_count=266, url=None, is_translation_enabled=False, location='Oakland, CA', created_at=datetime.datetime(2009, 1, 28, 0, 27, 7), default_profile_image=False, profile_use_background_image=True, statuses_count=16587, protected=False, favourites_count=14736, profile_background_color='C0DEED', is_translator=False, profile_text_color='333333', profile_link_color='1DA1F2', _json={'default_profile': True, 'geo_enabled': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'utc_offset': -28800, 'entities': {'description': {'urls': []}}, 'listed_count': 18, 'profile_background_color': 'C0DEED', 'verified': False, 'followers_count': 266, 'url': None, 'friends_count': 867, 'is_translation_enabled': False, 'location': 'Oakland, CA', 'created_at': 'Wed Jan 28 00:27:07 +0000 2009', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Opus Bae', 'statuses_count': 16587, 'profile_image_url': 'http://pbs.twimg.com/profile_images/578669789670809600/2I-0VtQY_normal.jpeg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 19626985, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 14736, 'screen_name': 'IsaacHale', 'is_translator': False, 'description': '@ucdavis political science PhD student. Former pollster. @Occidental alum.', 'id_str': '19626985', 'has_extended_profile': True, 'time_zone': 'Pacific Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/578669789670809600/2I-0VtQY_normal.jpeg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/578669789670809600/2I-0VtQY_normal.jpeg', profile_background_image_url_https='https://abs.twimg.com/images/themes/theme1/bg.png', profile_background_tile=False, default_profile=True, geo_enabled=False, profile_background_image_url='http://abs.twimg.com/images/themes/theme1/bg.png', time_zone='Pacific Time (US & Canada)', listed_count=18, following=False, friends_count=867, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='Opus Bae', profile_image_url='http://pbs.twimg.com/profile_images/578669789670809600/2I-0VtQY_normal.jpeg', id=19626985, lang='en', description='@ucdavis political science PhD student. Former pollster. @Occidental alum.', id_str='19626985', has_extended_profile=True, screen_name='IsaacHale', profile_sidebar_border_color='C0DEED'), text='RT @BillKristol: One thing to keep in mind: Even in \"normal\" administrations, one nominee usually doesn\\'t make it (Tower, 2 Clinton AG\\'s, C…', entities={'hashtags': [], 'symbols': [], 'urls': [], 'user_mentions': [{'screen_name': 'BillKristol', 'indices': [3, 15], 'id': 2800581040, 'id_str': '2800581040', 'name': 'Bill Kristol'}]}, retweeted_status=Status(geo=None, is_quote_status=False, user=User(verified=True, utc_offset=-18000, entities={'url': {'urls': [{'url': 'http://t.co/FKMfTLHfll', 'indices': [0, 22], 'display_url': 'weeklystandard.com', 'expanded_url': 'http://weeklystandard.com'}]}, 'description': {'urls': []}}, followers_count=87577, url='http://t.co/FKMfTLHfll', is_translation_enabled=False, location='', created_at=datetime.datetime(2014, 10, 2, 18, 47, 57), default_profile_image=False, profile_use_background_image=True, statuses_count=10395, protected=False, favourites_count=0, profile_background_color='C0DEED', is_translator=False, profile_text_color='333333', profile_link_color='1DA1F2', _json={'default_profile': True, 'geo_enabled': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'http://t.co/FKMfTLHfll', 'indices': [0, 22], 'display_url': 'weeklystandard.com', 'expanded_url': 'http://weeklystandard.com'}]}, 'description': {'urls': []}}, 'listed_count': 2062, 'profile_background_color': 'C0DEED', 'verified': True, 'followers_count': 87577, 'url': 'http://t.co/FKMfTLHfll', 'friends_count': 1610, 'is_translation_enabled': False, 'location': '', 'created_at': 'Thu Oct 02 18:47:57 +0000 2014', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Bill Kristol', 'statuses_count': 10395, 'profile_image_url': 'http://pbs.twimg.com/profile_images/521747547648311296/Z-2ftHoZ_normal.png', 'profile_link_color': '1DA1F2', 'following': False, 'id': 2800581040, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 0, 'screen_name': 'BillKristol', 'is_translator': False, 'description': 'Editor @WeeklyStandard', 'id_str': '2800581040', 'has_extended_profile': False, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/521747547648311296/Z-2ftHoZ_normal.png', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/521747547648311296/Z-2ftHoZ_normal.png', profile_background_image_url_https='https://abs.twimg.com/images/themes/theme1/bg.png', profile_background_tile=False, default_profile=True, geo_enabled=False, profile_background_image_url='http://abs.twimg.com/images/themes/theme1/bg.png', time_zone='Eastern Time (US & Canada)', listed_count=2062, following=False, friends_count=1610, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='Bill Kristol', profile_image_url='http://pbs.twimg.com/profile_images/521747547648311296/Z-2ftHoZ_normal.png', id=2800581040, lang='en', description='Editor @WeeklyStandard', id_str='2800581040', has_extended_profile=False, screen_name='BillKristol', profile_sidebar_border_color='C0DEED'), text='One thing to keep in mind: Even in \"normal\" administrations, one nominee usually doesn\\'t make it (Tower, 2 Clinton AG\\'s, Chavez, Daschle)...', entities={'hashtags': [], 'symbols': [], 'urls': [], 'user_mentions': []}, in_reply_to_status_id=None, contributors=None, in_reply_to_screen_name=None, created_at=datetime.datetime(2016, 11, 15, 1, 16, 10), favorite_count=7, source_url='http://twitter.com', metadata={'iso_language_code': 'en', 'result_type': 'recent'}, source='Twitter Web Client', in_reply_to_status_id_str=None, id=798333738216255488, in_reply_to_user_id=None, lang='en', in_reply_to_user_id_str=None, retweet_count=7, coordinates=None, retweeted=False, id_str='798333738216255488', truncated=False, favorited=False, _json={'geo': None, 'is_quote_status': False, 'user': {'default_profile': True, 'geo_enabled': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'http://t.co/FKMfTLHfll', 'indices': [0, 22], 'display_url': 'weeklystandard.com', 'expanded_url': 'http://weeklystandard.com'}]}, 'description': {'urls': []}}, 'listed_count': 2062, 'profile_background_color': 'C0DEED', 'verified': True, 'followers_count': 87577, 'url': 'http://t.co/FKMfTLHfll', 'friends_count': 1610, 'is_translation_enabled': False, 'location': '', 'created_at': 'Thu Oct 02 18:47:57 +0000 2014', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Bill Kristol', 'statuses_count': 10395, 'profile_image_url': 'http://pbs.twimg.com/profile_images/521747547648311296/Z-2ftHoZ_normal.png', 'profile_link_color': '1DA1F2', 'following': False, 'id': 2800581040, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 0, 'screen_name': 'BillKristol', 'is_translator': False, 'description': 'Editor @WeeklyStandard', 'id_str': '2800581040', 'has_extended_profile': False, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/521747547648311296/Z-2ftHoZ_normal.png', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_text_color': '333333', 'profile_background_tile': False}, 'text': 'One thing to keep in mind: Even in \"normal\" administrations, one nominee usually doesn\\'t make it (Tower, 2 Clinton AG\\'s, Chavez, Daschle)...', 'entities': {'hashtags': [], 'symbols': [], 'urls': [], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Tue Nov 15 01:16:10 +0000 2016', 'lang': 'en', 'source': 'Twitter Web Client ', 'contributors': None, 'id': 798333738216255488, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 7, 'coordinates': None, 'retweeted': False, 'id_str': '798333738216255488', 'truncated': False, 'place': None, 'favorite_count': 7}, _api=, place=None, author=User(verified=True, utc_offset=-18000, entities={'url': {'urls': [{'url': 'http://t.co/FKMfTLHfll', 'indices': [0, 22], 'display_url': 'weeklystandard.com', 'expanded_url': 'http://weeklystandard.com'}]}, 'description': {'urls': []}}, followers_count=87577, url='http://t.co/FKMfTLHfll', is_translation_enabled=False, location='', created_at=datetime.datetime(2014, 10, 2, 18, 47, 57), default_profile_image=False, profile_use_background_image=True, statuses_count=10395, protected=False, favourites_count=0, profile_background_color='C0DEED', is_translator=False, profile_text_color='333333', profile_link_color='1DA1F2', _json={'default_profile': True, 'geo_enabled': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'http://t.co/FKMfTLHfll', 'indices': [0, 22], 'display_url': 'weeklystandard.com', 'expanded_url': 'http://weeklystandard.com'}]}, 'description': {'urls': []}}, 'listed_count': 2062, 'profile_background_color': 'C0DEED', 'verified': True, 'followers_count': 87577, 'url': 'http://t.co/FKMfTLHfll', 'friends_count': 1610, 'is_translation_enabled': False, 'location': '', 'created_at': 'Thu Oct 02 18:47:57 +0000 2014', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Bill Kristol', 'statuses_count': 10395, 'profile_image_url': 'http://pbs.twimg.com/profile_images/521747547648311296/Z-2ftHoZ_normal.png', 'profile_link_color': '1DA1F2', 'following': False, 'id': 2800581040, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 0, 'screen_name': 'BillKristol', 'is_translator': False, 'description': 'Editor @WeeklyStandard', 'id_str': '2800581040', 'has_extended_profile': False, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/521747547648311296/Z-2ftHoZ_normal.png', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/521747547648311296/Z-2ftHoZ_normal.png', profile_background_image_url_https='https://abs.twimg.com/images/themes/theme1/bg.png', profile_background_tile=False, default_profile=True, geo_enabled=False, profile_background_image_url='http://abs.twimg.com/images/themes/theme1/bg.png', time_zone='Eastern Time (US & Canada)', listed_count=2062, following=False, friends_count=1610, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='Bill Kristol', profile_image_url='http://pbs.twimg.com/profile_images/521747547648311296/Z-2ftHoZ_normal.png', id=2800581040, lang='en', description='Editor @WeeklyStandard', id_str='2800581040', has_extended_profile=False, screen_name='BillKristol', profile_sidebar_border_color='C0DEED')), in_reply_to_status_id=None, contributors=None, in_reply_to_screen_name=None, created_at=datetime.datetime(2016, 11, 15, 1, 20, 2), favorite_count=0, source_url='http://twitter.com/download/iphone', metadata={'iso_language_code': 'en', 'result_type': 'recent'}, source='Twitter for iPhone', in_reply_to_status_id_str=None, id=798334710749347840, in_reply_to_user_id=None, lang='en', in_reply_to_user_id_str=None, retweet_count=7, coordinates=None, retweeted=False, id_str='798334710749347840', truncated=False, favorited=False, _json={'geo': None, 'is_quote_status': False, 'user': {'default_profile': True, 'geo_enabled': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'utc_offset': -28800, 'entities': {'description': {'urls': []}}, 'listed_count': 18, 'profile_background_color': 'C0DEED', 'verified': False, 'followers_count': 266, 'url': None, 'friends_count': 867, 'is_translation_enabled': False, 'location': 'Oakland, CA', 'created_at': 'Wed Jan 28 00:27:07 +0000 2009', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Opus Bae', 'statuses_count': 16587, 'profile_image_url': 'http://pbs.twimg.com/profile_images/578669789670809600/2I-0VtQY_normal.jpeg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 19626985, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 14736, 'screen_name': 'IsaacHale', 'is_translator': False, 'description': '@ucdavis political science PhD student. Former pollster. @Occidental alum.', 'id_str': '19626985', 'has_extended_profile': True, 'time_zone': 'Pacific Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/578669789670809600/2I-0VtQY_normal.jpeg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_text_color': '333333', 'profile_background_tile': False}, 'text': 'RT @BillKristol: One thing to keep in mind: Even in \"normal\" administrations, one nominee usually doesn\\'t make it (Tower, 2 Clinton AG\\'s, C…', 'entities': {'hashtags': [], 'symbols': [], 'urls': [], 'user_mentions': [{'screen_name': 'BillKristol', 'indices': [3, 15], 'id': 2800581040, 'id_str': '2800581040', 'name': 'Bill Kristol'}]}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Tue Nov 15 01:20:02 +0000 2016', 'lang': 'en', 'source': 'Twitter for iPhone ', 'contributors': None, 'id': 798334710749347840, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 7, 'coordinates': None, 'retweeted': False, 'id_str': '798334710749347840', 'truncated': False, 'place': None, 'favorite_count': 0, 'retweeted_status': {'geo': None, 'is_quote_status': False, 'user': {'default_profile': True, 'geo_enabled': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'http://t.co/FKMfTLHfll', 'indices': [0, 22], 'display_url': 'weeklystandard.com', 'expanded_url': 'http://weeklystandard.com'}]}, 'description': {'urls': []}}, 'listed_count': 2062, 'profile_background_color': 'C0DEED', 'verified': True, 'followers_count': 87577, 'url': 'http://t.co/FKMfTLHfll', 'friends_count': 1610, 'is_translation_enabled': False, 'location': '', 'created_at': 'Thu Oct 02 18:47:57 +0000 2014', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Bill Kristol', 'statuses_count': 10395, 'profile_image_url': 'http://pbs.twimg.com/profile_images/521747547648311296/Z-2ftHoZ_normal.png', 'profile_link_color': '1DA1F2', 'following': False, 'id': 2800581040, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 0, 'screen_name': 'BillKristol', 'is_translator': False, 'description': 'Editor @WeeklyStandard', 'id_str': '2800581040', 'has_extended_profile': False, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/521747547648311296/Z-2ftHoZ_normal.png', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_text_color': '333333', 'profile_background_tile': False}, 'text': 'One thing to keep in mind: Even in \"normal\" administrations, one nominee usually doesn\\'t make it (Tower, 2 Clinton AG\\'s, Chavez, Daschle)...', 'entities': {'hashtags': [], 'symbols': [], 'urls': [], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Tue Nov 15 01:16:10 +0000 2016', 'lang': 'en', 'source': 'Twitter Web Client ', 'contributors': None, 'id': 798333738216255488, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 7, 'coordinates': None, 'retweeted': False, 'id_str': '798333738216255488', 'truncated': False, 'place': None, 'favorite_count': 7}}, _api=, place=None, author=User(verified=False, utc_offset=-28800, entities={'description': {'urls': []}}, followers_count=266, url=None, is_translation_enabled=False, location='Oakland, CA', created_at=datetime.datetime(2009, 1, 28, 0, 27, 7), default_profile_image=False, profile_use_background_image=True, statuses_count=16587, protected=False, favourites_count=14736, profile_background_color='C0DEED', is_translator=False, profile_text_color='333333', profile_link_color='1DA1F2', _json={'default_profile': True, 'geo_enabled': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'utc_offset': -28800, 'entities': {'description': {'urls': []}}, 'listed_count': 18, 'profile_background_color': 'C0DEED', 'verified': False, 'followers_count': 266, 'url': None, 'friends_count': 867, 'is_translation_enabled': False, 'location': 'Oakland, CA', 'created_at': 'Wed Jan 28 00:27:07 +0000 2009', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Opus Bae', 'statuses_count': 16587, 'profile_image_url': 'http://pbs.twimg.com/profile_images/578669789670809600/2I-0VtQY_normal.jpeg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 19626985, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 14736, 'screen_name': 'IsaacHale', 'is_translator': False, 'description': '@ucdavis political science PhD student. Former pollster. @Occidental alum.', 'id_str': '19626985', 'has_extended_profile': True, 'time_zone': 'Pacific Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/578669789670809600/2I-0VtQY_normal.jpeg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/578669789670809600/2I-0VtQY_normal.jpeg', profile_background_image_url_https='https://abs.twimg.com/images/themes/theme1/bg.png', profile_background_tile=False, default_profile=True, geo_enabled=False, profile_background_image_url='http://abs.twimg.com/images/themes/theme1/bg.png', time_zone='Pacific Time (US & Canada)', listed_count=18, following=False, friends_count=867, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='Opus Bae', profile_image_url='http://pbs.twimg.com/profile_images/578669789670809600/2I-0VtQY_normal.jpeg', id=19626985, lang='en', description='@ucdavis political science PhD student. Former pollster. @Occidental alum.', id_str='19626985', has_extended_profile=True, screen_name='IsaacHale', profile_sidebar_border_color='C0DEED')), Status(geo=None, is_quote_status=False, user=User(verified=False, utc_offset=-18000, entities={'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/1453043816/1472784417', followers_count=522, url=None, is_translation_enabled=False, location='', created_at=datetime.datetime(2013, 5, 24, 2, 35, 36), default_profile_image=False, profile_use_background_image=True, statuses_count=7200, protected=False, favourites_count=12088, profile_background_color='C0DEED', is_translator=False, profile_text_color='333333', profile_link_color='1DA1F2', _json={'default_profile': True, 'geo_enabled': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'utc_offset': -18000, 'entities': {'description': {'urls': []}}, 'listed_count': 1, 'profile_background_color': 'C0DEED', 'verified': False, 'followers_count': 522, 'url': None, 'friends_count': 1035, 'is_translation_enabled': False, 'location': '', 'created_at': 'Fri May 24 02:35:36 +0000 2013', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'B-Reezy \\U0001f54a🌹\\U0001f918', 'statuses_count': 7200, 'profile_image_url': 'http://pbs.twimg.com/profile_images/741240804795027456/rdpPXPYn_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 1453043816, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 12088, 'screen_name': 'Bryce_Elliott14', 'is_translator': False, 'description': '', 'id_str': '1453043816', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/1453043816/1472784417', 'has_extended_profile': True, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/741240804795027456/rdpPXPYn_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/741240804795027456/rdpPXPYn_normal.jpg', profile_background_image_url_https='https://abs.twimg.com/images/themes/theme1/bg.png', profile_background_tile=False, default_profile=True, geo_enabled=False, profile_background_image_url='http://abs.twimg.com/images/themes/theme1/bg.png', time_zone='Eastern Time (US & Canada)', listed_count=1, following=False, friends_count=1035, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='B-Reezy \\U0001f54a🌹\\U0001f918', profile_image_url='http://pbs.twimg.com/profile_images/741240804795027456/rdpPXPYn_normal.jpg', id=1453043816, lang='en', description='', id_str='1453043816', has_extended_profile=True, screen_name='Bryce_Elliott14', profile_sidebar_border_color='C0DEED'), text='RT @tharealversace: REASONS WHY YOU HAVE TO VOTE FOR HILLARY #VOTEHILLARY 😭😭🙏\\U0001f3fe https://t.co/eLzD2pVSw1', entities={'hashtags': [{'indices': [61, 73], 'text': 'VOTEHILLARY'}], 'symbols': [], 'urls': [], 'media': [{'source_status_id_str': '796065932279877632', 'id': 796065675202596864, 'media_url_https': 'https://pbs.twimg.com/ext_tw_video_thumb/796065675202596864/pu/img/Tl8IgtAcK0Ng9jd4.jpg', 'id_str': '796065675202596864', 'type': 'photo', 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 340, 'w': 340}, 'large': {'resize': 'fit', 'h': 720, 'w': 720}, 'medium': {'resize': 'fit', 'h': 600, 'w': 600}}, 'source_status_id': 796065932279877632, 'url': 'https://t.co/eLzD2pVSw1', 'media_url': 'http://pbs.twimg.com/ext_tw_video_thumb/796065675202596864/pu/img/Tl8IgtAcK0Ng9jd4.jpg', 'source_user_id': 2922268330, 'source_user_id_str': '2922268330', 'indices': [79, 102], 'display_url': 'pic.twitter.com/eLzD2pVSw1', 'expanded_url': 'https://twitter.com/tharealversace/status/796065932279877632/video/1'}], 'user_mentions': [{'screen_name': 'tharealversace', 'indices': [3, 18], 'id': 2922268330, 'id_str': '2922268330', 'name': 'JAY VERSACE'}]}, possibly_sensitive=False, retweeted_status=Status(geo=None, is_quote_status=False, user=User(verified=True, utc_offset=-28800, entities={'url': {'urls': [{'url': 'https://t.co/Pr9Mi67wyu', 'indices': [0, 23], 'display_url': 'youtu.be/qg3vUWsydDs', 'expanded_url': 'https://youtu.be/qg3vUWsydDs'}]}, 'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/2922268330/1478881056', followers_count=355794, url='https://t.co/Pr9Mi67wyu', is_translation_enabled=False, location='pluto', created_at=datetime.datetime(2014, 12, 15, 0, 48, 21), default_profile_image=False, profile_use_background_image=True, statuses_count=5334, protected=False, favourites_count=10387, profile_background_color='000000', is_translator=False, profile_text_color='000000', profile_link_color='FA743E', _json={'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/640018953939628032/evQAl1cx.jpg', 'utc_offset': -28800, 'entities': {'url': {'urls': [{'url': 'https://t.co/Pr9Mi67wyu', 'indices': [0, 23], 'display_url': 'youtu.be/qg3vUWsydDs', 'expanded_url': 'https://youtu.be/qg3vUWsydDs'}]}, 'description': {'urls': []}}, 'listed_count': 423, 'profile_background_color': '000000', 'verified': True, 'followers_count': 355794, 'url': 'https://t.co/Pr9Mi67wyu', 'friends_count': 18968, 'is_translation_enabled': False, 'location': 'pluto', 'created_at': 'Mon Dec 15 00:48:21 +0000 2014', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': '000000', 'name': 'JAY VERSACE', 'statuses_count': 5334, 'profile_image_url': 'http://pbs.twimg.com/profile_images/796448185933672448/RO8WEHr5_normal.jpg', 'profile_link_color': 'FA743E', 'following': False, 'id': 2922268330, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 10387, 'screen_name': 'tharealversace', 'is_translator': False, 'description': '• tryna fix my time machine so I can go back to the 90s • versacemgmt@gmail.com // IM 18 YEARS OLD DEFUQ//', 'id_str': '2922268330', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/2922268330/1478881056', 'has_extended_profile': False, 'time_zone': 'Pacific Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': '000000', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/796448185933672448/RO8WEHr5_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/640018953939628032/evQAl1cx.jpg', 'profile_text_color': '000000', 'profile_background_tile': True}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/796448185933672448/RO8WEHr5_normal.jpg', profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/640018953939628032/evQAl1cx.jpg', profile_background_tile=True, default_profile=False, geo_enabled=True, profile_background_image_url='http://pbs.twimg.com/profile_background_images/640018953939628032/evQAl1cx.jpg', time_zone='Pacific Time (US & Canada)', listed_count=423, following=False, friends_count=18968, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='000000', name='JAY VERSACE', profile_image_url='http://pbs.twimg.com/profile_images/796448185933672448/RO8WEHr5_normal.jpg', id=2922268330, lang='en', description='• tryna fix my time machine so I can go back to the 90s • versacemgmt@gmail.com // IM 18 YEARS OLD DEFUQ//', id_str='2922268330', has_extended_profile=False, screen_name='tharealversace', profile_sidebar_border_color='000000'), text='REASONS WHY YOU HAVE TO VOTE FOR HILLARY #VOTEHILLARY 😭😭🙏\\U0001f3fe https://t.co/eLzD2pVSw1', entities={'hashtags': [{'indices': [41, 53], 'text': 'VOTEHILLARY'}], 'symbols': [], 'urls': [], 'media': [{'url': 'https://t.co/eLzD2pVSw1', 'media_url': 'http://pbs.twimg.com/ext_tw_video_thumb/796065675202596864/pu/img/Tl8IgtAcK0Ng9jd4.jpg', 'id': 796065675202596864, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 340, 'w': 340}, 'large': {'resize': 'fit', 'h': 720, 'w': 720}, 'medium': {'resize': 'fit', 'h': 600, 'w': 600}}, 'media_url_https': 'https://pbs.twimg.com/ext_tw_video_thumb/796065675202596864/pu/img/Tl8IgtAcK0Ng9jd4.jpg', 'indices': [59, 82], 'display_url': 'pic.twitter.com/eLzD2pVSw1', 'type': 'photo', 'id_str': '796065675202596864', 'expanded_url': 'https://twitter.com/tharealversace/status/796065932279877632/video/1'}], 'user_mentions': []}, possibly_sensitive=False, in_reply_to_status_id=None, contributors=None, in_reply_to_screen_name=None, created_at=datetime.datetime(2016, 11, 8, 19, 4, 43), favorite_count=18264, source_url='http://twitter.com/download/iphone', metadata={'iso_language_code': 'en', 'result_type': 'recent'}, source='Twitter for iPhone', in_reply_to_status_id_str=None, extended_entities={'media': [{'id': 796065675202596864, 'media_url_https': 'https://pbs.twimg.com/ext_tw_video_thumb/796065675202596864/pu/img/Tl8IgtAcK0Ng9jd4.jpg', 'id_str': '796065675202596864', 'type': 'video', 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 340, 'w': 340}, 'large': {'resize': 'fit', 'h': 720, 'w': 720}, 'medium': {'resize': 'fit', 'h': 600, 'w': 600}}, 'url': 'https://t.co/eLzD2pVSw1', 'media_url': 'http://pbs.twimg.com/ext_tw_video_thumb/796065675202596864/pu/img/Tl8IgtAcK0Ng9jd4.jpg', 'additional_media_info': {'monetizable': False}, 'indices': [59, 82], 'video_info': {'duration_millis': 112970, 'variants': [{'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/796065675202596864/pu/vid/240x240/FJJi2USUa4m8oGTN.mp4', 'bitrate': 320000}, {'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/796065675202596864/pu/vid/720x720/9n16gimFfuBWQ2Pl.mp4', 'bitrate': 1280000}, {'content_type': 'application/dash+xml', 'url': 'https://video.twimg.com/ext_tw_video/796065675202596864/pu/pl/07b81Lmqz09cOnqA.mpd'}, {'content_type': 'application/x-mpegURL', 'url': 'https://video.twimg.com/ext_tw_video/796065675202596864/pu/pl/07b81Lmqz09cOnqA.m3u8'}, {'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/796065675202596864/pu/vid/480x480/RnvQTZlh_d0d222u.mp4', 'bitrate': 832000}], 'aspect_ratio': [1, 1]}, 'display_url': 'pic.twitter.com/eLzD2pVSw1', 'expanded_url': 'https://twitter.com/tharealversace/status/796065932279877632/video/1'}]}, id=796065932279877632, in_reply_to_user_id=None, lang='en', in_reply_to_user_id_str=None, retweet_count=12477, coordinates=None, retweeted=False, id_str='796065932279877632', truncated=False, favorited=False, _json={'geo': None, 'is_quote_status': False, 'user': {'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/640018953939628032/evQAl1cx.jpg', 'utc_offset': -28800, 'entities': {'url': {'urls': [{'url': 'https://t.co/Pr9Mi67wyu', 'indices': [0, 23], 'display_url': 'youtu.be/qg3vUWsydDs', 'expanded_url': 'https://youtu.be/qg3vUWsydDs'}]}, 'description': {'urls': []}}, 'listed_count': 423, 'profile_background_color': '000000', 'verified': True, 'followers_count': 355794, 'url': 'https://t.co/Pr9Mi67wyu', 'friends_count': 18968, 'is_translation_enabled': False, 'location': 'pluto', 'created_at': 'Mon Dec 15 00:48:21 +0000 2014', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': '000000', 'name': 'JAY VERSACE', 'statuses_count': 5334, 'profile_image_url': 'http://pbs.twimg.com/profile_images/796448185933672448/RO8WEHr5_normal.jpg', 'profile_link_color': 'FA743E', 'following': False, 'id': 2922268330, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 10387, 'screen_name': 'tharealversace', 'is_translator': False, 'description': '• tryna fix my time machine so I can go back to the 90s • versacemgmt@gmail.com // IM 18 YEARS OLD DEFUQ//', 'id_str': '2922268330', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/2922268330/1478881056', 'has_extended_profile': False, 'time_zone': 'Pacific Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': '000000', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/796448185933672448/RO8WEHr5_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/640018953939628032/evQAl1cx.jpg', 'profile_text_color': '000000', 'profile_background_tile': True}, 'text': 'REASONS WHY YOU HAVE TO VOTE FOR HILLARY #VOTEHILLARY 😭😭🙏\\U0001f3fe https://t.co/eLzD2pVSw1', 'entities': {'hashtags': [{'indices': [41, 53], 'text': 'VOTEHILLARY'}], 'symbols': [], 'urls': [], 'media': [{'url': 'https://t.co/eLzD2pVSw1', 'media_url': 'http://pbs.twimg.com/ext_tw_video_thumb/796065675202596864/pu/img/Tl8IgtAcK0Ng9jd4.jpg', 'id': 796065675202596864, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 340, 'w': 340}, 'large': {'resize': 'fit', 'h': 720, 'w': 720}, 'medium': {'resize': 'fit', 'h': 600, 'w': 600}}, 'media_url_https': 'https://pbs.twimg.com/ext_tw_video_thumb/796065675202596864/pu/img/Tl8IgtAcK0Ng9jd4.jpg', 'indices': [59, 82], 'display_url': 'pic.twitter.com/eLzD2pVSw1', 'type': 'photo', 'id_str': '796065675202596864', 'expanded_url': 'https://twitter.com/tharealversace/status/796065932279877632/video/1'}], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Tue Nov 08 19:04:43 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'Twitter for iPhone ', 'contributors': None, 'extended_entities': {'media': [{'id': 796065675202596864, 'media_url_https': 'https://pbs.twimg.com/ext_tw_video_thumb/796065675202596864/pu/img/Tl8IgtAcK0Ng9jd4.jpg', 'id_str': '796065675202596864', 'type': 'video', 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 340, 'w': 340}, 'large': {'resize': 'fit', 'h': 720, 'w': 720}, 'medium': {'resize': 'fit', 'h': 600, 'w': 600}}, 'url': 'https://t.co/eLzD2pVSw1', 'media_url': 'http://pbs.twimg.com/ext_tw_video_thumb/796065675202596864/pu/img/Tl8IgtAcK0Ng9jd4.jpg', 'additional_media_info': {'monetizable': False}, 'indices': [59, 82], 'video_info': {'duration_millis': 112970, 'variants': [{'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/796065675202596864/pu/vid/240x240/FJJi2USUa4m8oGTN.mp4', 'bitrate': 320000}, {'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/796065675202596864/pu/vid/720x720/9n16gimFfuBWQ2Pl.mp4', 'bitrate': 1280000}, {'content_type': 'application/dash+xml', 'url': 'https://video.twimg.com/ext_tw_video/796065675202596864/pu/pl/07b81Lmqz09cOnqA.mpd'}, {'content_type': 'application/x-mpegURL', 'url': 'https://video.twimg.com/ext_tw_video/796065675202596864/pu/pl/07b81Lmqz09cOnqA.m3u8'}, {'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/796065675202596864/pu/vid/480x480/RnvQTZlh_d0d222u.mp4', 'bitrate': 832000}], 'aspect_ratio': [1, 1]}, 'display_url': 'pic.twitter.com/eLzD2pVSw1', 'expanded_url': 'https://twitter.com/tharealversace/status/796065932279877632/video/1'}]}, 'id': 796065932279877632, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 12477, 'coordinates': None, 'retweeted': False, 'id_str': '796065932279877632', 'truncated': False, 'place': None, 'favorite_count': 18264}, _api=, place=None, author=User(verified=True, utc_offset=-28800, entities={'url': {'urls': [{'url': 'https://t.co/Pr9Mi67wyu', 'indices': [0, 23], 'display_url': 'youtu.be/qg3vUWsydDs', 'expanded_url': 'https://youtu.be/qg3vUWsydDs'}]}, 'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/2922268330/1478881056', followers_count=355794, url='https://t.co/Pr9Mi67wyu', is_translation_enabled=False, location='pluto', created_at=datetime.datetime(2014, 12, 15, 0, 48, 21), default_profile_image=False, profile_use_background_image=True, statuses_count=5334, protected=False, favourites_count=10387, profile_background_color='000000', is_translator=False, profile_text_color='000000', profile_link_color='FA743E', _json={'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/640018953939628032/evQAl1cx.jpg', 'utc_offset': -28800, 'entities': {'url': {'urls': [{'url': 'https://t.co/Pr9Mi67wyu', 'indices': [0, 23], 'display_url': 'youtu.be/qg3vUWsydDs', 'expanded_url': 'https://youtu.be/qg3vUWsydDs'}]}, 'description': {'urls': []}}, 'listed_count': 423, 'profile_background_color': '000000', 'verified': True, 'followers_count': 355794, 'url': 'https://t.co/Pr9Mi67wyu', 'friends_count': 18968, 'is_translation_enabled': False, 'location': 'pluto', 'created_at': 'Mon Dec 15 00:48:21 +0000 2014', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': '000000', 'name': 'JAY VERSACE', 'statuses_count': 5334, 'profile_image_url': 'http://pbs.twimg.com/profile_images/796448185933672448/RO8WEHr5_normal.jpg', 'profile_link_color': 'FA743E', 'following': False, 'id': 2922268330, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 10387, 'screen_name': 'tharealversace', 'is_translator': False, 'description': '• tryna fix my time machine so I can go back to the 90s • versacemgmt@gmail.com // IM 18 YEARS OLD DEFUQ//', 'id_str': '2922268330', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/2922268330/1478881056', 'has_extended_profile': False, 'time_zone': 'Pacific Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': '000000', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/796448185933672448/RO8WEHr5_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/640018953939628032/evQAl1cx.jpg', 'profile_text_color': '000000', 'profile_background_tile': True}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/796448185933672448/RO8WEHr5_normal.jpg', profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/640018953939628032/evQAl1cx.jpg', profile_background_tile=True, default_profile=False, geo_enabled=True, profile_background_image_url='http://pbs.twimg.com/profile_background_images/640018953939628032/evQAl1cx.jpg', time_zone='Pacific Time (US & Canada)', listed_count=423, following=False, friends_count=18968, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='000000', name='JAY VERSACE', profile_image_url='http://pbs.twimg.com/profile_images/796448185933672448/RO8WEHr5_normal.jpg', id=2922268330, lang='en', description='• tryna fix my time machine so I can go back to the 90s • versacemgmt@gmail.com // IM 18 YEARS OLD DEFUQ//', id_str='2922268330', has_extended_profile=False, screen_name='tharealversace', profile_sidebar_border_color='000000')), in_reply_to_status_id=None, contributors=None, in_reply_to_screen_name=None, created_at=datetime.datetime(2016, 11, 15, 1, 20, 1), favorite_count=0, source_url='http://twitter.com/download/android', metadata={'iso_language_code': 'en', 'result_type': 'recent'}, source='Twitter for Android', in_reply_to_status_id_str=None, extended_entities={'media': [{'source_status_id_str': '796065932279877632', 'id': 796065675202596864, 'media_url_https': 'https://pbs.twimg.com/ext_tw_video_thumb/796065675202596864/pu/img/Tl8IgtAcK0Ng9jd4.jpg', 'id_str': '796065675202596864', 'type': 'video', 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 340, 'w': 340}, 'large': {'resize': 'fit', 'h': 720, 'w': 720}, 'medium': {'resize': 'fit', 'h': 600, 'w': 600}}, 'source_status_id': 796065932279877632, 'url': 'https://t.co/eLzD2pVSw1', 'media_url': 'http://pbs.twimg.com/ext_tw_video_thumb/796065675202596864/pu/img/Tl8IgtAcK0Ng9jd4.jpg', 'source_user_id': 2922268330, 'additional_media_info': {'monetizable': False, 'source_user': {'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/640018953939628032/evQAl1cx.jpg', 'utc_offset': -28800, 'entities': {'url': {'urls': [{'url': 'https://t.co/Pr9Mi67wyu', 'indices': [0, 23], 'display_url': 'youtu.be/qg3vUWsydDs', 'expanded_url': 'https://youtu.be/qg3vUWsydDs'}]}, 'description': {'urls': []}}, 'listed_count': 423, 'profile_background_color': '000000', 'verified': True, 'followers_count': 355794, 'url': 'https://t.co/Pr9Mi67wyu', 'friends_count': 18968, 'is_translation_enabled': False, 'location': 'pluto', 'created_at': 'Mon Dec 15 00:48:21 +0000 2014', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': '000000', 'name': 'JAY VERSACE', 'statuses_count': 5334, 'profile_image_url': 'http://pbs.twimg.com/profile_images/796448185933672448/RO8WEHr5_normal.jpg', 'profile_link_color': 'FA743E', 'following': False, 'id': 2922268330, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 10387, 'screen_name': 'tharealversace', 'is_translator': False, 'description': '• tryna fix my time machine so I can go back to the 90s • versacemgmt@gmail.com // IM 18 YEARS OLD DEFUQ//', 'id_str': '2922268330', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/2922268330/1478881056', 'has_extended_profile': False, 'time_zone': 'Pacific Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': '000000', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/796448185933672448/RO8WEHr5_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/640018953939628032/evQAl1cx.jpg', 'profile_text_color': '000000', 'profile_background_tile': True}}, 'source_user_id_str': '2922268330', 'indices': [79, 102], 'video_info': {'duration_millis': 112970, 'variants': [{'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/796065675202596864/pu/vid/240x240/FJJi2USUa4m8oGTN.mp4', 'bitrate': 320000}, {'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/796065675202596864/pu/vid/720x720/9n16gimFfuBWQ2Pl.mp4', 'bitrate': 1280000}, {'content_type': 'application/dash+xml', 'url': 'https://video.twimg.com/ext_tw_video/796065675202596864/pu/pl/07b81Lmqz09cOnqA.mpd'}, {'content_type': 'application/x-mpegURL', 'url': 'https://video.twimg.com/ext_tw_video/796065675202596864/pu/pl/07b81Lmqz09cOnqA.m3u8'}, {'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/796065675202596864/pu/vid/480x480/RnvQTZlh_d0d222u.mp4', 'bitrate': 832000}], 'aspect_ratio': [1, 1]}, 'display_url': 'pic.twitter.com/eLzD2pVSw1', 'expanded_url': 'https://twitter.com/tharealversace/status/796065932279877632/video/1'}]}, id=798334710481031168, in_reply_to_user_id=None, lang='en', in_reply_to_user_id_str=None, retweet_count=12477, coordinates=None, retweeted=False, id_str='798334710481031168', truncated=False, favorited=False, _json={'geo': None, 'is_quote_status': False, 'user': {'default_profile': True, 'geo_enabled': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'utc_offset': -18000, 'entities': {'description': {'urls': []}}, 'listed_count': 1, 'profile_background_color': 'C0DEED', 'verified': False, 'followers_count': 522, 'url': None, 'friends_count': 1035, 'is_translation_enabled': False, 'location': '', 'created_at': 'Fri May 24 02:35:36 +0000 2013', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'B-Reezy \\U0001f54a🌹\\U0001f918', 'statuses_count': 7200, 'profile_image_url': 'http://pbs.twimg.com/profile_images/741240804795027456/rdpPXPYn_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 1453043816, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 12088, 'screen_name': 'Bryce_Elliott14', 'is_translator': False, 'description': '', 'id_str': '1453043816', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/1453043816/1472784417', 'has_extended_profile': True, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/741240804795027456/rdpPXPYn_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_text_color': '333333', 'profile_background_tile': False}, 'text': 'RT @tharealversace: REASONS WHY YOU HAVE TO VOTE FOR HILLARY #VOTEHILLARY 😭😭🙏\\U0001f3fe https://t.co/eLzD2pVSw1', 'entities': {'hashtags': [{'indices': [61, 73], 'text': 'VOTEHILLARY'}], 'symbols': [], 'urls': [], 'media': [{'source_status_id_str': '796065932279877632', 'id': 796065675202596864, 'media_url_https': 'https://pbs.twimg.com/ext_tw_video_thumb/796065675202596864/pu/img/Tl8IgtAcK0Ng9jd4.jpg', 'id_str': '796065675202596864', 'type': 'photo', 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 340, 'w': 340}, 'large': {'resize': 'fit', 'h': 720, 'w': 720}, 'medium': {'resize': 'fit', 'h': 600, 'w': 600}}, 'source_status_id': 796065932279877632, 'url': 'https://t.co/eLzD2pVSw1', 'media_url': 'http://pbs.twimg.com/ext_tw_video_thumb/796065675202596864/pu/img/Tl8IgtAcK0Ng9jd4.jpg', 'source_user_id': 2922268330, 'source_user_id_str': '2922268330', 'indices': [79, 102], 'display_url': 'pic.twitter.com/eLzD2pVSw1', 'expanded_url': 'https://twitter.com/tharealversace/status/796065932279877632/video/1'}], 'user_mentions': [{'screen_name': 'tharealversace', 'indices': [3, 18], 'id': 2922268330, 'id_str': '2922268330', 'name': 'JAY VERSACE'}]}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Tue Nov 15 01:20:01 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'Twitter for Android ', 'contributors': None, 'extended_entities': {'media': [{'source_status_id_str': '796065932279877632', 'id': 796065675202596864, 'media_url_https': 'https://pbs.twimg.com/ext_tw_video_thumb/796065675202596864/pu/img/Tl8IgtAcK0Ng9jd4.jpg', 'id_str': '796065675202596864', 'type': 'video', 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 340, 'w': 340}, 'large': {'resize': 'fit', 'h': 720, 'w': 720}, 'medium': {'resize': 'fit', 'h': 600, 'w': 600}}, 'source_status_id': 796065932279877632, 'url': 'https://t.co/eLzD2pVSw1', 'media_url': 'http://pbs.twimg.com/ext_tw_video_thumb/796065675202596864/pu/img/Tl8IgtAcK0Ng9jd4.jpg', 'source_user_id': 2922268330, 'additional_media_info': {'monetizable': False, 'source_user': {'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/640018953939628032/evQAl1cx.jpg', 'utc_offset': -28800, 'entities': {'url': {'urls': [{'url': 'https://t.co/Pr9Mi67wyu', 'indices': [0, 23], 'display_url': 'youtu.be/qg3vUWsydDs', 'expanded_url': 'https://youtu.be/qg3vUWsydDs'}]}, 'description': {'urls': []}}, 'listed_count': 423, 'profile_background_color': '000000', 'verified': True, 'followers_count': 355794, 'url': 'https://t.co/Pr9Mi67wyu', 'friends_count': 18968, 'is_translation_enabled': False, 'location': 'pluto', 'created_at': 'Mon Dec 15 00:48:21 +0000 2014', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': '000000', 'name': 'JAY VERSACE', 'statuses_count': 5334, 'profile_image_url': 'http://pbs.twimg.com/profile_images/796448185933672448/RO8WEHr5_normal.jpg', 'profile_link_color': 'FA743E', 'following': False, 'id': 2922268330, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 10387, 'screen_name': 'tharealversace', 'is_translator': False, 'description': '• tryna fix my time machine so I can go back to the 90s • versacemgmt@gmail.com // IM 18 YEARS OLD DEFUQ//', 'id_str': '2922268330', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/2922268330/1478881056', 'has_extended_profile': False, 'time_zone': 'Pacific Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': '000000', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/796448185933672448/RO8WEHr5_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/640018953939628032/evQAl1cx.jpg', 'profile_text_color': '000000', 'profile_background_tile': True}}, 'source_user_id_str': '2922268330', 'indices': [79, 102], 'video_info': {'duration_millis': 112970, 'variants': [{'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/796065675202596864/pu/vid/240x240/FJJi2USUa4m8oGTN.mp4', 'bitrate': 320000}, {'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/796065675202596864/pu/vid/720x720/9n16gimFfuBWQ2Pl.mp4', 'bitrate': 1280000}, {'content_type': 'application/dash+xml', 'url': 'https://video.twimg.com/ext_tw_video/796065675202596864/pu/pl/07b81Lmqz09cOnqA.mpd'}, {'content_type': 'application/x-mpegURL', 'url': 'https://video.twimg.com/ext_tw_video/796065675202596864/pu/pl/07b81Lmqz09cOnqA.m3u8'}, {'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/796065675202596864/pu/vid/480x480/RnvQTZlh_d0d222u.mp4', 'bitrate': 832000}], 'aspect_ratio': [1, 1]}, 'display_url': 'pic.twitter.com/eLzD2pVSw1', 'expanded_url': 'https://twitter.com/tharealversace/status/796065932279877632/video/1'}]}, 'id': 798334710481031168, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 12477, 'coordinates': None, 'retweeted': False, 'id_str': '798334710481031168', 'truncated': False, 'place': None, 'favorite_count': 0, 'retweeted_status': {'geo': None, 'is_quote_status': False, 'user': {'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/640018953939628032/evQAl1cx.jpg', 'utc_offset': -28800, 'entities': {'url': {'urls': [{'url': 'https://t.co/Pr9Mi67wyu', 'indices': [0, 23], 'display_url': 'youtu.be/qg3vUWsydDs', 'expanded_url': 'https://youtu.be/qg3vUWsydDs'}]}, 'description': {'urls': []}}, 'listed_count': 423, 'profile_background_color': '000000', 'verified': True, 'followers_count': 355794, 'url': 'https://t.co/Pr9Mi67wyu', 'friends_count': 18968, 'is_translation_enabled': False, 'location': 'pluto', 'created_at': 'Mon Dec 15 00:48:21 +0000 2014', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': '000000', 'name': 'JAY VERSACE', 'statuses_count': 5334, 'profile_image_url': 'http://pbs.twimg.com/profile_images/796448185933672448/RO8WEHr5_normal.jpg', 'profile_link_color': 'FA743E', 'following': False, 'id': 2922268330, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 10387, 'screen_name': 'tharealversace', 'is_translator': False, 'description': '• tryna fix my time machine so I can go back to the 90s • versacemgmt@gmail.com // IM 18 YEARS OLD DEFUQ//', 'id_str': '2922268330', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/2922268330/1478881056', 'has_extended_profile': False, 'time_zone': 'Pacific Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': '000000', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/796448185933672448/RO8WEHr5_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/640018953939628032/evQAl1cx.jpg', 'profile_text_color': '000000', 'profile_background_tile': True}, 'text': 'REASONS WHY YOU HAVE TO VOTE FOR HILLARY #VOTEHILLARY 😭😭🙏\\U0001f3fe https://t.co/eLzD2pVSw1', 'entities': {'hashtags': [{'indices': [41, 53], 'text': 'VOTEHILLARY'}], 'symbols': [], 'urls': [], 'media': [{'url': 'https://t.co/eLzD2pVSw1', 'media_url': 'http://pbs.twimg.com/ext_tw_video_thumb/796065675202596864/pu/img/Tl8IgtAcK0Ng9jd4.jpg', 'id': 796065675202596864, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 340, 'w': 340}, 'large': {'resize': 'fit', 'h': 720, 'w': 720}, 'medium': {'resize': 'fit', 'h': 600, 'w': 600}}, 'media_url_https': 'https://pbs.twimg.com/ext_tw_video_thumb/796065675202596864/pu/img/Tl8IgtAcK0Ng9jd4.jpg', 'indices': [59, 82], 'display_url': 'pic.twitter.com/eLzD2pVSw1', 'type': 'photo', 'id_str': '796065675202596864', 'expanded_url': 'https://twitter.com/tharealversace/status/796065932279877632/video/1'}], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Tue Nov 08 19:04:43 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'Twitter for iPhone ', 'contributors': None, 'extended_entities': {'media': [{'id': 796065675202596864, 'media_url_https': 'https://pbs.twimg.com/ext_tw_video_thumb/796065675202596864/pu/img/Tl8IgtAcK0Ng9jd4.jpg', 'id_str': '796065675202596864', 'type': 'video', 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 340, 'w': 340}, 'large': {'resize': 'fit', 'h': 720, 'w': 720}, 'medium': {'resize': 'fit', 'h': 600, 'w': 600}}, 'url': 'https://t.co/eLzD2pVSw1', 'media_url': 'http://pbs.twimg.com/ext_tw_video_thumb/796065675202596864/pu/img/Tl8IgtAcK0Ng9jd4.jpg', 'additional_media_info': {'monetizable': False}, 'indices': [59, 82], 'video_info': {'duration_millis': 112970, 'variants': [{'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/796065675202596864/pu/vid/240x240/FJJi2USUa4m8oGTN.mp4', 'bitrate': 320000}, {'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/796065675202596864/pu/vid/720x720/9n16gimFfuBWQ2Pl.mp4', 'bitrate': 1280000}, {'content_type': 'application/dash+xml', 'url': 'https://video.twimg.com/ext_tw_video/796065675202596864/pu/pl/07b81Lmqz09cOnqA.mpd'}, {'content_type': 'application/x-mpegURL', 'url': 'https://video.twimg.com/ext_tw_video/796065675202596864/pu/pl/07b81Lmqz09cOnqA.m3u8'}, {'content_type': 'video/mp4', 'url': 'https://video.twimg.com/ext_tw_video/796065675202596864/pu/vid/480x480/RnvQTZlh_d0d222u.mp4', 'bitrate': 832000}], 'aspect_ratio': [1, 1]}, 'display_url': 'pic.twitter.com/eLzD2pVSw1', 'expanded_url': 'https://twitter.com/tharealversace/status/796065932279877632/video/1'}]}, 'id': 796065932279877632, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 12477, 'coordinates': None, 'retweeted': False, 'id_str': '796065932279877632', 'truncated': False, 'place': None, 'favorite_count': 18264}}, _api=, place=None, author=User(verified=False, utc_offset=-18000, entities={'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/1453043816/1472784417', followers_count=522, url=None, is_translation_enabled=False, location='', created_at=datetime.datetime(2013, 5, 24, 2, 35, 36), default_profile_image=False, profile_use_background_image=True, statuses_count=7200, protected=False, favourites_count=12088, profile_background_color='C0DEED', is_translator=False, profile_text_color='333333', profile_link_color='1DA1F2', _json={'default_profile': True, 'geo_enabled': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'utc_offset': -18000, 'entities': {'description': {'urls': []}}, 'listed_count': 1, 'profile_background_color': 'C0DEED', 'verified': False, 'followers_count': 522, 'url': None, 'friends_count': 1035, 'is_translation_enabled': False, 'location': '', 'created_at': 'Fri May 24 02:35:36 +0000 2013', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'B-Reezy \\U0001f54a🌹\\U0001f918', 'statuses_count': 7200, 'profile_image_url': 'http://pbs.twimg.com/profile_images/741240804795027456/rdpPXPYn_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 1453043816, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 12088, 'screen_name': 'Bryce_Elliott14', 'is_translator': False, 'description': '', 'id_str': '1453043816', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/1453043816/1472784417', 'has_extended_profile': True, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/741240804795027456/rdpPXPYn_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/741240804795027456/rdpPXPYn_normal.jpg', profile_background_image_url_https='https://abs.twimg.com/images/themes/theme1/bg.png', profile_background_tile=False, default_profile=True, geo_enabled=False, profile_background_image_url='http://abs.twimg.com/images/themes/theme1/bg.png', time_zone='Eastern Time (US & Canada)', listed_count=1, following=False, friends_count=1035, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='B-Reezy \\U0001f54a🌹\\U0001f918', profile_image_url='http://pbs.twimg.com/profile_images/741240804795027456/rdpPXPYn_normal.jpg', id=1453043816, lang='en', description='', id_str='1453043816', has_extended_profile=True, screen_name='Bryce_Elliott14', profile_sidebar_border_color='C0DEED')), Status(geo=None, is_quote_status=True, user=User(verified=False, utc_offset=None, entities={'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/776051196582690816/1478712149', followers_count=95, url=None, is_translation_enabled=False, location='', created_at=datetime.datetime(2016, 9, 14, 13, 33, 18), default_profile_image=False, profile_use_background_image=True, statuses_count=5707, protected=False, favourites_count=6126, profile_background_color='F5F8FA', is_translator=False, profile_text_color='333333', profile_link_color='1DA1F2', _json={'default_profile': True, 'geo_enabled': False, 'profile_background_image_url': None, 'utc_offset': None, 'entities': {'description': {'urls': []}}, 'listed_count': 12, 'profile_background_color': 'F5F8FA', 'verified': False, 'followers_count': 95, 'url': None, 'friends_count': 89, 'is_translation_enabled': False, 'location': '', 'created_at': 'Wed Sep 14 13:33:18 +0000 2016', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': '(((Still With Her)))', 'statuses_count': 5707, 'profile_image_url': 'http://pbs.twimg.com/profile_images/796402596802134016/erkLbm3X_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 776051196582690816, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 6126, 'screen_name': 'petrified_syrup', 'is_translator': False, 'description': 'Amber, 23, nasty woman. Yes I did just make a Twitter for political stuff - lbr, it was long overdue.', 'id_str': '776051196582690816', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/776051196582690816/1478712149', 'has_extended_profile': False, 'time_zone': None, 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/796402596802134016/erkLbm3X_normal.jpg', 'profile_background_image_url_https': None, 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/796402596802134016/erkLbm3X_normal.jpg', profile_background_image_url_https=None, profile_background_tile=False, default_profile=True, geo_enabled=False, profile_background_image_url=None, time_zone=None, listed_count=12, following=False, friends_count=89, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='(((Still With Her)))', profile_image_url='http://pbs.twimg.com/profile_images/796402596802134016/erkLbm3X_normal.jpg', id=776051196582690816, lang='en', description='Amber, 23, nasty woman. Yes I did just make a Twitter for political stuff - lbr, it was long overdue.', id_str='776051196582690816', has_extended_profile=False, screen_name='petrified_syrup', profile_sidebar_border_color='C0DEED'), text=\"RT @matthaig1: Mike Pence: Hillary can't be president if she wants to shield her emails.\\nAlso Mike Pence: Can I shield my emails? \\nhttps://…\", entities={'hashtags': [], 'symbols': [], 'urls': [], 'user_mentions': [{'screen_name': 'matthaig1', 'indices': [3, 13], 'id': 35270579, 'id_str': '35270579', 'name': 'Matt Haig'}]}, retweeted_status=Status(geo=None, is_quote_status=True, user=User(verified=True, utc_offset=0, entities={'url': {'urls': [{'url': 'https://t.co/qJ84Sjs7J6', 'indices': [0, 23], 'display_url': 'amazon.co.uk/gp/product/178…', 'expanded_url': 'https://www.amazon.co.uk/gp/product/1782118268/ref=pd_sim_14_45?ie=UTF8&psc=1&refRID=96R32FVZSNKMFVS'}]}, 'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/35270579/1477515116', followers_count=102889, url='https://t.co/qJ84Sjs7J6', is_translation_enabled=False, location='BRIGHTON', created_at=datetime.datetime(2009, 4, 25, 18, 5, 29), default_profile_image=False, profile_use_background_image=True, statuses_count=47469, protected=False, favourites_count=36346, profile_background_color='022330', is_translator=False, profile_text_color='333333', profile_link_color='0084B4', _json={'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme15/bg.png', 'utc_offset': 0, 'entities': {'url': {'urls': [{'url': 'https://t.co/qJ84Sjs7J6', 'indices': [0, 23], 'display_url': 'amazon.co.uk/gp/product/178…', 'expanded_url': 'https://www.amazon.co.uk/gp/product/1782118268/ref=pd_sim_14_45?ie=UTF8&psc=1&refRID=96R32FVZSNKMFVS'}]}, 'description': {'urls': []}}, 'listed_count': 1667, 'profile_background_color': '022330', 'verified': True, 'followers_count': 102889, 'url': 'https://t.co/qJ84Sjs7J6', 'friends_count': 13814, 'is_translation_enabled': False, 'location': 'BRIGHTON', 'created_at': 'Sat Apr 25 18:05:29 +0000 2009', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'C0DFEC', 'name': 'Matt Haig', 'statuses_count': 47469, 'profile_image_url': 'http://pbs.twimg.com/profile_images/756914767617527808/GitLwW6H_normal.jpg', 'profile_link_color': '0084B4', 'following': False, 'id': 35270579, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 36346, 'screen_name': 'matthaig1', 'is_translator': False, 'description': 'I write books.', 'id_str': '35270579', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/35270579/1477515116', 'has_extended_profile': False, 'time_zone': 'London', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'A8C7F7', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/756914767617527808/GitLwW6H_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme15/bg.png', 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/756914767617527808/GitLwW6H_normal.jpg', profile_background_image_url_https='https://abs.twimg.com/images/themes/theme15/bg.png', profile_background_tile=False, default_profile=False, geo_enabled=True, profile_background_image_url='http://abs.twimg.com/images/themes/theme15/bg.png', time_zone='London', listed_count=1667, following=False, friends_count=13814, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='C0DFEC', name='Matt Haig', profile_image_url='http://pbs.twimg.com/profile_images/756914767617527808/GitLwW6H_normal.jpg', id=35270579, lang='en', description='I write books.', id_str='35270579', has_extended_profile=False, screen_name='matthaig1', profile_sidebar_border_color='A8C7F7'), text=\"Mike Pence: Hillary can't be president if she wants to shield her emails.\\nAlso Mike Pence: Can I shield my emails? \\nhttps://t.co/1Fl5QjkcFF\", entities={'hashtags': [], 'symbols': [], 'urls': [{'url': 'https://t.co/1Fl5QjkcFF', 'indices': [116, 139], 'display_url': 'twitter.com/politico/statu…', 'expanded_url': 'https://twitter.com/politico/status/798198333051375616'}], 'user_mentions': []}, possibly_sensitive=False, in_reply_to_status_id=None, contributors=None, in_reply_to_screen_name=None, created_at=datetime.datetime(2016, 11, 14, 16, 55, 38), favorite_count=10331, source_url='http://twitter.com', metadata={'iso_language_code': 'en', 'result_type': 'recent'}, source='Twitter Web Client', in_reply_to_status_id_str=None, id=798207777512439808, in_reply_to_user_id=None, lang='en', in_reply_to_user_id_str=None, retweet_count=9356, coordinates=None, retweeted=False, id_str='798207777512439808', quoted_status_id=798198333051375616, quoted_status={'geo': None, 'is_quote_status': False, 'user': {'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/796212188/bbdc5e3f7842b5b33f418ac5bc9685ee.jpeg', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'http://t.co/BE5JFAdb46', 'indices': [0, 22], 'display_url': 'politico.com', 'expanded_url': 'http://www.politico.com'}]}, 'description': {'urls': []}}, 'listed_count': 31739, 'profile_background_color': 'E6E6E6', 'verified': True, 'followers_count': 2184223, 'url': 'http://t.co/BE5JFAdb46', 'friends_count': 1233, 'is_translation_enabled': False, 'location': 'Washington, D.C.', 'created_at': 'Mon Oct 08 00:29:38 +0000 2007', 'default_profile_image': False, 'profile_use_background_image': False, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'POLITICO', 'statuses_count': 195942, 'profile_image_url': 'http://pbs.twimg.com/profile_images/677177503694237697/y6yTzWn6_normal.png', 'profile_link_color': 'DD2E44', 'following': False, 'id': 9300262, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 9, 'screen_name': 'politico', 'is_translator': False, 'description': 'Nobody knows politics like POLITICO.', 'id_str': '9300262', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/9300262/1447437792', 'has_extended_profile': False, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'regular', 'profile_sidebar_border_color': 'FFFFFF', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/677177503694237697/y6yTzWn6_normal.png', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/796212188/bbdc5e3f7842b5b33f418ac5bc9685ee.jpeg', 'profile_text_color': '333333', 'profile_background_tile': True}, 'text': 'Mike Pence is going to court to shield his emails from public scrutiny https://t.co/mQmdOWNW1a | AP Photo https://t.co/bLTAbBixuh', 'entities': {'hashtags': [], 'symbols': [], 'urls': [{'url': 'https://t.co/mQmdOWNW1a', 'indices': [71, 94], 'display_url': 'politi.co/2eTpdI1', 'expanded_url': 'http://politi.co/2eTpdI1'}], 'media': [{'url': 'https://t.co/bLTAbBixuh', 'media_url': 'http://pbs.twimg.com/media/CxPFJudW8AAegAj.jpg', 'id': 798198329855373312, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 369, 'w': 680}, 'large': {'resize': 'fit', 'h': 629, 'w': 1160}, 'medium': {'resize': 'fit', 'h': 629, 'w': 1160}}, 'media_url_https': 'https://pbs.twimg.com/media/CxPFJudW8AAegAj.jpg', 'indices': [106, 129], 'display_url': 'pic.twitter.com/bLTAbBixuh', 'type': 'photo', 'id_str': '798198329855373312', 'expanded_url': 'https://twitter.com/politico/status/798198333051375616/photo/1'}], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Mon Nov 14 16:18:07 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'SocialFlow ', 'contributors': None, 'extended_entities': {'media': [{'url': 'https://t.co/bLTAbBixuh', 'media_url': 'http://pbs.twimg.com/media/CxPFJudW8AAegAj.jpg', 'id': 798198329855373312, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 369, 'w': 680}, 'large': {'resize': 'fit', 'h': 629, 'w': 1160}, 'medium': {'resize': 'fit', 'h': 629, 'w': 1160}}, 'media_url_https': 'https://pbs.twimg.com/media/CxPFJudW8AAegAj.jpg', 'indices': [106, 129], 'display_url': 'pic.twitter.com/bLTAbBixuh', 'type': 'photo', 'id_str': '798198329855373312', 'expanded_url': 'https://twitter.com/politico/status/798198333051375616/photo/1'}]}, 'id': 798198333051375616, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 6551, 'coordinates': None, 'retweeted': False, 'id_str': '798198333051375616', 'truncated': False, 'place': None, 'favorite_count': 4348}, truncated=False, quoted_status_id_str='798198333051375616', favorited=False, _json={'geo': None, 'is_quote_status': True, 'user': {'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme15/bg.png', 'utc_offset': 0, 'entities': {'url': {'urls': [{'url': 'https://t.co/qJ84Sjs7J6', 'indices': [0, 23], 'display_url': 'amazon.co.uk/gp/product/178…', 'expanded_url': 'https://www.amazon.co.uk/gp/product/1782118268/ref=pd_sim_14_45?ie=UTF8&psc=1&refRID=96R32FVZSNKMFVS'}]}, 'description': {'urls': []}}, 'listed_count': 1667, 'profile_background_color': '022330', 'verified': True, 'followers_count': 102889, 'url': 'https://t.co/qJ84Sjs7J6', 'friends_count': 13814, 'is_translation_enabled': False, 'location': 'BRIGHTON', 'created_at': 'Sat Apr 25 18:05:29 +0000 2009', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'C0DFEC', 'name': 'Matt Haig', 'statuses_count': 47469, 'profile_image_url': 'http://pbs.twimg.com/profile_images/756914767617527808/GitLwW6H_normal.jpg', 'profile_link_color': '0084B4', 'following': False, 'id': 35270579, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 36346, 'screen_name': 'matthaig1', 'is_translator': False, 'description': 'I write books.', 'id_str': '35270579', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/35270579/1477515116', 'has_extended_profile': False, 'time_zone': 'London', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'A8C7F7', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/756914767617527808/GitLwW6H_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme15/bg.png', 'profile_text_color': '333333', 'profile_background_tile': False}, 'text': \"Mike Pence: Hillary can't be president if she wants to shield her emails.\\nAlso Mike Pence: Can I shield my emails? \\nhttps://t.co/1Fl5QjkcFF\", 'entities': {'hashtags': [], 'symbols': [], 'urls': [{'url': 'https://t.co/1Fl5QjkcFF', 'indices': [116, 139], 'display_url': 'twitter.com/politico/statu…', 'expanded_url': 'https://twitter.com/politico/status/798198333051375616'}], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Mon Nov 14 16:55:38 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'Twitter Web Client ', 'contributors': None, 'id': 798207777512439808, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 9356, 'coordinates': None, 'retweeted': False, 'id_str': '798207777512439808', 'quoted_status_id': 798198333051375616, 'quoted_status': {'geo': None, 'is_quote_status': False, 'user': {'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/796212188/bbdc5e3f7842b5b33f418ac5bc9685ee.jpeg', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'http://t.co/BE5JFAdb46', 'indices': [0, 22], 'display_url': 'politico.com', 'expanded_url': 'http://www.politico.com'}]}, 'description': {'urls': []}}, 'listed_count': 31739, 'profile_background_color': 'E6E6E6', 'verified': True, 'followers_count': 2184223, 'url': 'http://t.co/BE5JFAdb46', 'friends_count': 1233, 'is_translation_enabled': False, 'location': 'Washington, D.C.', 'created_at': 'Mon Oct 08 00:29:38 +0000 2007', 'default_profile_image': False, 'profile_use_background_image': False, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'POLITICO', 'statuses_count': 195942, 'profile_image_url': 'http://pbs.twimg.com/profile_images/677177503694237697/y6yTzWn6_normal.png', 'profile_link_color': 'DD2E44', 'following': False, 'id': 9300262, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 9, 'screen_name': 'politico', 'is_translator': False, 'description': 'Nobody knows politics like POLITICO.', 'id_str': '9300262', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/9300262/1447437792', 'has_extended_profile': False, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'regular', 'profile_sidebar_border_color': 'FFFFFF', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/677177503694237697/y6yTzWn6_normal.png', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/796212188/bbdc5e3f7842b5b33f418ac5bc9685ee.jpeg', 'profile_text_color': '333333', 'profile_background_tile': True}, 'text': 'Mike Pence is going to court to shield his emails from public scrutiny https://t.co/mQmdOWNW1a | AP Photo https://t.co/bLTAbBixuh', 'entities': {'hashtags': [], 'symbols': [], 'urls': [{'url': 'https://t.co/mQmdOWNW1a', 'indices': [71, 94], 'display_url': 'politi.co/2eTpdI1', 'expanded_url': 'http://politi.co/2eTpdI1'}], 'media': [{'url': 'https://t.co/bLTAbBixuh', 'media_url': 'http://pbs.twimg.com/media/CxPFJudW8AAegAj.jpg', 'id': 798198329855373312, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 369, 'w': 680}, 'large': {'resize': 'fit', 'h': 629, 'w': 1160}, 'medium': {'resize': 'fit', 'h': 629, 'w': 1160}}, 'media_url_https': 'https://pbs.twimg.com/media/CxPFJudW8AAegAj.jpg', 'indices': [106, 129], 'display_url': 'pic.twitter.com/bLTAbBixuh', 'type': 'photo', 'id_str': '798198329855373312', 'expanded_url': 'https://twitter.com/politico/status/798198333051375616/photo/1'}], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Mon Nov 14 16:18:07 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'SocialFlow ', 'contributors': None, 'extended_entities': {'media': [{'url': 'https://t.co/bLTAbBixuh', 'media_url': 'http://pbs.twimg.com/media/CxPFJudW8AAegAj.jpg', 'id': 798198329855373312, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 369, 'w': 680}, 'large': {'resize': 'fit', 'h': 629, 'w': 1160}, 'medium': {'resize': 'fit', 'h': 629, 'w': 1160}}, 'media_url_https': 'https://pbs.twimg.com/media/CxPFJudW8AAegAj.jpg', 'indices': [106, 129], 'display_url': 'pic.twitter.com/bLTAbBixuh', 'type': 'photo', 'id_str': '798198329855373312', 'expanded_url': 'https://twitter.com/politico/status/798198333051375616/photo/1'}]}, 'id': 798198333051375616, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 6551, 'coordinates': None, 'retweeted': False, 'id_str': '798198333051375616', 'truncated': False, 'place': None, 'favorite_count': 4348}, 'truncated': False, 'quoted_status_id_str': '798198333051375616', 'place': None, 'favorite_count': 10331}, _api=, place=None, author=User(verified=True, utc_offset=0, entities={'url': {'urls': [{'url': 'https://t.co/qJ84Sjs7J6', 'indices': [0, 23], 'display_url': 'amazon.co.uk/gp/product/178…', 'expanded_url': 'https://www.amazon.co.uk/gp/product/1782118268/ref=pd_sim_14_45?ie=UTF8&psc=1&refRID=96R32FVZSNKMFVS'}]}, 'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/35270579/1477515116', followers_count=102889, url='https://t.co/qJ84Sjs7J6', is_translation_enabled=False, location='BRIGHTON', created_at=datetime.datetime(2009, 4, 25, 18, 5, 29), default_profile_image=False, profile_use_background_image=True, statuses_count=47469, protected=False, favourites_count=36346, profile_background_color='022330', is_translator=False, profile_text_color='333333', profile_link_color='0084B4', _json={'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme15/bg.png', 'utc_offset': 0, 'entities': {'url': {'urls': [{'url': 'https://t.co/qJ84Sjs7J6', 'indices': [0, 23], 'display_url': 'amazon.co.uk/gp/product/178…', 'expanded_url': 'https://www.amazon.co.uk/gp/product/1782118268/ref=pd_sim_14_45?ie=UTF8&psc=1&refRID=96R32FVZSNKMFVS'}]}, 'description': {'urls': []}}, 'listed_count': 1667, 'profile_background_color': '022330', 'verified': True, 'followers_count': 102889, 'url': 'https://t.co/qJ84Sjs7J6', 'friends_count': 13814, 'is_translation_enabled': False, 'location': 'BRIGHTON', 'created_at': 'Sat Apr 25 18:05:29 +0000 2009', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'C0DFEC', 'name': 'Matt Haig', 'statuses_count': 47469, 'profile_image_url': 'http://pbs.twimg.com/profile_images/756914767617527808/GitLwW6H_normal.jpg', 'profile_link_color': '0084B4', 'following': False, 'id': 35270579, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 36346, 'screen_name': 'matthaig1', 'is_translator': False, 'description': 'I write books.', 'id_str': '35270579', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/35270579/1477515116', 'has_extended_profile': False, 'time_zone': 'London', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'A8C7F7', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/756914767617527808/GitLwW6H_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme15/bg.png', 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/756914767617527808/GitLwW6H_normal.jpg', profile_background_image_url_https='https://abs.twimg.com/images/themes/theme15/bg.png', profile_background_tile=False, default_profile=False, geo_enabled=True, profile_background_image_url='http://abs.twimg.com/images/themes/theme15/bg.png', time_zone='London', listed_count=1667, following=False, friends_count=13814, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='C0DFEC', name='Matt Haig', profile_image_url='http://pbs.twimg.com/profile_images/756914767617527808/GitLwW6H_normal.jpg', id=35270579, lang='en', description='I write books.', id_str='35270579', has_extended_profile=False, screen_name='matthaig1', profile_sidebar_border_color='A8C7F7')), in_reply_to_status_id=None, contributors=None, in_reply_to_screen_name=None, created_at=datetime.datetime(2016, 11, 15, 1, 20, 1), favorite_count=0, source_url='http://twitter.com/download/android', metadata={'iso_language_code': 'en', 'result_type': 'recent'}, source='Twitter for Android', in_reply_to_status_id_str=None, id=798334709537222658, in_reply_to_user_id=None, lang='en', in_reply_to_user_id_str=None, retweet_count=9356, coordinates=None, retweeted=False, id_str='798334709537222658', quoted_status_id=798198333051375616, truncated=False, quoted_status_id_str='798198333051375616', favorited=False, _json={'geo': None, 'is_quote_status': True, 'user': {'default_profile': True, 'geo_enabled': False, 'profile_background_image_url': None, 'utc_offset': None, 'entities': {'description': {'urls': []}}, 'listed_count': 12, 'profile_background_color': 'F5F8FA', 'verified': False, 'followers_count': 95, 'url': None, 'friends_count': 89, 'is_translation_enabled': False, 'location': '', 'created_at': 'Wed Sep 14 13:33:18 +0000 2016', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': '(((Still With Her)))', 'statuses_count': 5707, 'profile_image_url': 'http://pbs.twimg.com/profile_images/796402596802134016/erkLbm3X_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 776051196582690816, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 6126, 'screen_name': 'petrified_syrup', 'is_translator': False, 'description': 'Amber, 23, nasty woman. Yes I did just make a Twitter for political stuff - lbr, it was long overdue.', 'id_str': '776051196582690816', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/776051196582690816/1478712149', 'has_extended_profile': False, 'time_zone': None, 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/796402596802134016/erkLbm3X_normal.jpg', 'profile_background_image_url_https': None, 'profile_text_color': '333333', 'profile_background_tile': False}, 'text': \"RT @matthaig1: Mike Pence: Hillary can't be president if she wants to shield her emails.\\nAlso Mike Pence: Can I shield my emails? \\nhttps://…\", 'entities': {'hashtags': [], 'symbols': [], 'urls': [], 'user_mentions': [{'screen_name': 'matthaig1', 'indices': [3, 13], 'id': 35270579, 'id_str': '35270579', 'name': 'Matt Haig'}]}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Tue Nov 15 01:20:01 +0000 2016', 'lang': 'en', 'source': 'Twitter for Android ', 'contributors': None, 'id': 798334709537222658, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 9356, 'coordinates': None, 'retweeted': False, 'id_str': '798334709537222658', 'quoted_status_id_str': '798198333051375616', 'truncated': False, 'quoted_status_id': 798198333051375616, 'place': None, 'favorite_count': 0, 'retweeted_status': {'geo': None, 'is_quote_status': True, 'user': {'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme15/bg.png', 'utc_offset': 0, 'entities': {'url': {'urls': [{'url': 'https://t.co/qJ84Sjs7J6', 'indices': [0, 23], 'display_url': 'amazon.co.uk/gp/product/178…', 'expanded_url': 'https://www.amazon.co.uk/gp/product/1782118268/ref=pd_sim_14_45?ie=UTF8&psc=1&refRID=96R32FVZSNKMFVS'}]}, 'description': {'urls': []}}, 'listed_count': 1667, 'profile_background_color': '022330', 'verified': True, 'followers_count': 102889, 'url': 'https://t.co/qJ84Sjs7J6', 'friends_count': 13814, 'is_translation_enabled': False, 'location': 'BRIGHTON', 'created_at': 'Sat Apr 25 18:05:29 +0000 2009', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'C0DFEC', 'name': 'Matt Haig', 'statuses_count': 47469, 'profile_image_url': 'http://pbs.twimg.com/profile_images/756914767617527808/GitLwW6H_normal.jpg', 'profile_link_color': '0084B4', 'following': False, 'id': 35270579, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 36346, 'screen_name': 'matthaig1', 'is_translator': False, 'description': 'I write books.', 'id_str': '35270579', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/35270579/1477515116', 'has_extended_profile': False, 'time_zone': 'London', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'A8C7F7', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/756914767617527808/GitLwW6H_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme15/bg.png', 'profile_text_color': '333333', 'profile_background_tile': False}, 'text': \"Mike Pence: Hillary can't be president if she wants to shield her emails.\\nAlso Mike Pence: Can I shield my emails? \\nhttps://t.co/1Fl5QjkcFF\", 'entities': {'hashtags': [], 'symbols': [], 'urls': [{'url': 'https://t.co/1Fl5QjkcFF', 'indices': [116, 139], 'display_url': 'twitter.com/politico/statu…', 'expanded_url': 'https://twitter.com/politico/status/798198333051375616'}], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Mon Nov 14 16:55:38 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'Twitter Web Client ', 'contributors': None, 'id': 798207777512439808, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 9356, 'coordinates': None, 'retweeted': False, 'id_str': '798207777512439808', 'quoted_status_id': 798198333051375616, 'quoted_status': {'geo': None, 'is_quote_status': False, 'user': {'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/796212188/bbdc5e3f7842b5b33f418ac5bc9685ee.jpeg', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'http://t.co/BE5JFAdb46', 'indices': [0, 22], 'display_url': 'politico.com', 'expanded_url': 'http://www.politico.com'}]}, 'description': {'urls': []}}, 'listed_count': 31739, 'profile_background_color': 'E6E6E6', 'verified': True, 'followers_count': 2184223, 'url': 'http://t.co/BE5JFAdb46', 'friends_count': 1233, 'is_translation_enabled': False, 'location': 'Washington, D.C.', 'created_at': 'Mon Oct 08 00:29:38 +0000 2007', 'default_profile_image': False, 'profile_use_background_image': False, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'POLITICO', 'statuses_count': 195942, 'profile_image_url': 'http://pbs.twimg.com/profile_images/677177503694237697/y6yTzWn6_normal.png', 'profile_link_color': 'DD2E44', 'following': False, 'id': 9300262, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 9, 'screen_name': 'politico', 'is_translator': False, 'description': 'Nobody knows politics like POLITICO.', 'id_str': '9300262', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/9300262/1447437792', 'has_extended_profile': False, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'regular', 'profile_sidebar_border_color': 'FFFFFF', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/677177503694237697/y6yTzWn6_normal.png', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/796212188/bbdc5e3f7842b5b33f418ac5bc9685ee.jpeg', 'profile_text_color': '333333', 'profile_background_tile': True}, 'text': 'Mike Pence is going to court to shield his emails from public scrutiny https://t.co/mQmdOWNW1a | AP Photo https://t.co/bLTAbBixuh', 'entities': {'hashtags': [], 'symbols': [], 'urls': [{'url': 'https://t.co/mQmdOWNW1a', 'indices': [71, 94], 'display_url': 'politi.co/2eTpdI1', 'expanded_url': 'http://politi.co/2eTpdI1'}], 'media': [{'url': 'https://t.co/bLTAbBixuh', 'media_url': 'http://pbs.twimg.com/media/CxPFJudW8AAegAj.jpg', 'id': 798198329855373312, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 369, 'w': 680}, 'large': {'resize': 'fit', 'h': 629, 'w': 1160}, 'medium': {'resize': 'fit', 'h': 629, 'w': 1160}}, 'media_url_https': 'https://pbs.twimg.com/media/CxPFJudW8AAegAj.jpg', 'indices': [106, 129], 'display_url': 'pic.twitter.com/bLTAbBixuh', 'type': 'photo', 'id_str': '798198329855373312', 'expanded_url': 'https://twitter.com/politico/status/798198333051375616/photo/1'}], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Mon Nov 14 16:18:07 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'SocialFlow ', 'contributors': None, 'extended_entities': {'media': [{'url': 'https://t.co/bLTAbBixuh', 'media_url': 'http://pbs.twimg.com/media/CxPFJudW8AAegAj.jpg', 'id': 798198329855373312, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 369, 'w': 680}, 'large': {'resize': 'fit', 'h': 629, 'w': 1160}, 'medium': {'resize': 'fit', 'h': 629, 'w': 1160}}, 'media_url_https': 'https://pbs.twimg.com/media/CxPFJudW8AAegAj.jpg', 'indices': [106, 129], 'display_url': 'pic.twitter.com/bLTAbBixuh', 'type': 'photo', 'id_str': '798198329855373312', 'expanded_url': 'https://twitter.com/politico/status/798198333051375616/photo/1'}]}, 'id': 798198333051375616, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 6551, 'coordinates': None, 'retweeted': False, 'id_str': '798198333051375616', 'truncated': False, 'place': None, 'favorite_count': 4348}, 'truncated': False, 'quoted_status_id_str': '798198333051375616', 'place': None, 'favorite_count': 10331}}, _api=, place=None, author=User(verified=False, utc_offset=None, entities={'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/776051196582690816/1478712149', followers_count=95, url=None, is_translation_enabled=False, location='', created_at=datetime.datetime(2016, 9, 14, 13, 33, 18), default_profile_image=False, profile_use_background_image=True, statuses_count=5707, protected=False, favourites_count=6126, profile_background_color='F5F8FA', is_translator=False, profile_text_color='333333', profile_link_color='1DA1F2', _json={'default_profile': True, 'geo_enabled': False, 'profile_background_image_url': None, 'utc_offset': None, 'entities': {'description': {'urls': []}}, 'listed_count': 12, 'profile_background_color': 'F5F8FA', 'verified': False, 'followers_count': 95, 'url': None, 'friends_count': 89, 'is_translation_enabled': False, 'location': '', 'created_at': 'Wed Sep 14 13:33:18 +0000 2016', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': '(((Still With Her)))', 'statuses_count': 5707, 'profile_image_url': 'http://pbs.twimg.com/profile_images/796402596802134016/erkLbm3X_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 776051196582690816, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 6126, 'screen_name': 'petrified_syrup', 'is_translator': False, 'description': 'Amber, 23, nasty woman. Yes I did just make a Twitter for political stuff - lbr, it was long overdue.', 'id_str': '776051196582690816', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/776051196582690816/1478712149', 'has_extended_profile': False, 'time_zone': None, 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/796402596802134016/erkLbm3X_normal.jpg', 'profile_background_image_url_https': None, 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/796402596802134016/erkLbm3X_normal.jpg', profile_background_image_url_https=None, profile_background_tile=False, default_profile=True, geo_enabled=False, profile_background_image_url=None, time_zone=None, listed_count=12, following=False, friends_count=89, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='(((Still With Her)))', profile_image_url='http://pbs.twimg.com/profile_images/796402596802134016/erkLbm3X_normal.jpg', id=776051196582690816, lang='en', description='Amber, 23, nasty woman. Yes I did just make a Twitter for political stuff - lbr, it was long overdue.', id_str='776051196582690816', has_extended_profile=False, screen_name='petrified_syrup', profile_sidebar_border_color='C0DEED')), Status(geo=None, is_quote_status=False, user=User(verified=False, utc_offset=-21600, entities={'url': {'urls': [{'url': 'https://t.co/CAnYar8OTy', 'indices': [0, 23], 'display_url': 'obvious-humor.com', 'expanded_url': 'http://obvious-humor.com'}]}, 'description': {'urls': [{'url': 'https://t.co/cVDlWrjiaa', 'indices': [16, 39], 'display_url': 'trwnh.com', 'expanded_url': 'http://trwnh.com'}]}}, profile_banner_url='https://pbs.twimg.com/profile_banners/343134767/1470874511', followers_count=477, url='https://t.co/CAnYar8OTy', is_translation_enabled=False, location='[BHM] / MIA / DXB / AMM', created_at=datetime.datetime(2011, 7, 27, 3, 22, 47), default_profile_image=False, profile_use_background_image=True, statuses_count=89177, protected=False, favourites_count=44879, profile_background_color='91B6BF', is_translator=False, profile_text_color='333333', profile_link_color='91B6BF', _json={'default_profile': False, 'geo_enabled': False, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/476486305799356416/OvGvKPd5.png', 'utc_offset': -21600, 'entities': {'url': {'urls': [{'url': 'https://t.co/CAnYar8OTy', 'indices': [0, 23], 'display_url': 'obvious-humor.com', 'expanded_url': 'http://obvious-humor.com'}]}, 'description': {'urls': [{'url': 'https://t.co/cVDlWrjiaa', 'indices': [16, 39], 'display_url': 'trwnh.com', 'expanded_url': 'http://trwnh.com'}]}}, 'listed_count': 95, 'profile_background_color': '91B6BF', 'verified': False, 'followers_count': 477, 'url': 'https://t.co/CAnYar8OTy', 'friends_count': 54, 'is_translation_enabled': False, 'location': '[BHM] / MIA / DXB / AMM', 'created_at': 'Wed Jul 27 03:22:47 +0000 2011', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'make your move,', 'statuses_count': 89177, 'profile_image_url': 'http://pbs.twimg.com/profile_images/792086202065252354/PGttiKVD_normal.jpg', 'profile_link_color': '91B6BF', 'following': False, 'id': 343134767, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 44879, 'screen_name': 'obvious_humor', 'is_translator': False, 'description': '★☪Ⓐ☭☮⚑☼♏⚪about: https://t.co/cVDlWrjiaa. #circafam / #anberlinforever / #soulpunx⚪tech/professional @trwnh, politics @trwnhpol (nb/ace/they)', 'id_str': '343134767', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/343134767/1470874511', 'has_extended_profile': True, 'time_zone': 'Central Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': '000000', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/792086202065252354/PGttiKVD_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/476486305799356416/OvGvKPd5.png', 'profile_text_color': '333333', 'profile_background_tile': True}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/792086202065252354/PGttiKVD_normal.jpg', profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/476486305799356416/OvGvKPd5.png', profile_background_tile=True, default_profile=False, geo_enabled=False, profile_background_image_url='http://pbs.twimg.com/profile_background_images/476486305799356416/OvGvKPd5.png', time_zone='Central Time (US & Canada)', listed_count=95, following=False, friends_count=54, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='make your move,', profile_image_url='http://pbs.twimg.com/profile_images/792086202065252354/PGttiKVD_normal.jpg', id=343134767, lang='en', description='★☪Ⓐ☭☮⚑☼♏⚪about: https://t.co/cVDlWrjiaa. #circafam / #anberlinforever / #soulpunx⚪tech/professional @trwnh, politics @trwnhpol (nb/ace/they)', id_str='343134767', has_extended_profile=True, screen_name='obvious_humor', profile_sidebar_border_color='000000'), text='RT @Phonycian: @kthalps hillary spent one million dollars on this https://t.co/wX1cTEmMHh', entities={'hashtags': [], 'symbols': [], 'urls': [], 'media': [{'source_status_id_str': '798334279897911296', 'id': 798334274776735746, 'media_url_https': 'https://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'id_str': '798334274776735746', 'type': 'photo', 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 680, 'w': 496}, 'large': {'resize': 'fit', 'h': 1021, 'w': 745}, 'medium': {'resize': 'fit', 'h': 1021, 'w': 745}}, 'source_status_id': 798334279897911296, 'url': 'https://t.co/wX1cTEmMHh', 'media_url': 'http://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'source_user_id': 257121282, 'source_user_id_str': '257121282', 'indices': [66, 89], 'display_url': 'pic.twitter.com/wX1cTEmMHh', 'expanded_url': 'https://twitter.com/Phonycian/status/798334279897911296/photo/1'}], 'user_mentions': [{'screen_name': 'Phonycian', 'indices': [3, 13], 'id': 257121282, 'id_str': '257121282', 'name': 'Hotty McTakeface'}, {'screen_name': 'kthalps', 'indices': [15, 23], 'id': 15859912, 'id_str': '15859912', 'name': 'Katie Halper'}]}, possibly_sensitive=False, retweeted_status=Status(geo=None, is_quote_status=False, user=User(verified=False, utc_offset=7200, entities={'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/257121282/1463082336', followers_count=927, url=None, is_translation_enabled=False, location='delawhere?', created_at=datetime.datetime(2011, 2, 24, 19, 39, 30), default_profile_image=False, profile_use_background_image=True, statuses_count=18814, protected=False, favourites_count=37516, profile_background_color='1A1B1F', is_translator=False, profile_text_color='333333', profile_link_color='2FC2EF', _json={'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/842005350/92fa9f0de1c095b48eb9e97730efa59b.jpeg', 'utc_offset': 7200, 'entities': {'description': {'urls': []}}, 'listed_count': 28, 'profile_background_color': '1A1B1F', 'verified': False, 'followers_count': 927, 'url': None, 'friends_count': 944, 'is_translation_enabled': False, 'location': 'delawhere?', 'created_at': 'Thu Feb 24 19:39:30 +0000 2011', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Hotty McTakeface', 'statuses_count': 18814, 'profile_image_url': 'http://pbs.twimg.com/profile_images/797304170491547648/XghxQVn3_normal.jpg', 'profile_link_color': '2FC2EF', 'following': False, 'id': 257121282, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 37516, 'screen_name': 'Phonycian', 'is_translator': False, 'description': \"I'm just a ex-con trying to go straight and get my kids back. 🇱🇧\", 'id_str': '257121282', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/257121282/1463082336', 'has_extended_profile': True, 'time_zone': 'Jerusalem', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'FFFFFF', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/797304170491547648/XghxQVn3_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/842005350/92fa9f0de1c095b48eb9e97730efa59b.jpeg', 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/797304170491547648/XghxQVn3_normal.jpg', profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/842005350/92fa9f0de1c095b48eb9e97730efa59b.jpeg', profile_background_tile=False, default_profile=False, geo_enabled=True, profile_background_image_url='http://pbs.twimg.com/profile_background_images/842005350/92fa9f0de1c095b48eb9e97730efa59b.jpeg', time_zone='Jerusalem', listed_count=28, following=False, friends_count=944, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='Hotty McTakeface', profile_image_url='http://pbs.twimg.com/profile_images/797304170491547648/XghxQVn3_normal.jpg', id=257121282, lang='en', description=\"I'm just a ex-con trying to go straight and get my kids back. 🇱🇧\", id_str='257121282', has_extended_profile=True, screen_name='Phonycian', profile_sidebar_border_color='FFFFFF'), text='@kthalps hillary spent one million dollars on this https://t.co/wX1cTEmMHh', entities={'hashtags': [], 'symbols': [], 'urls': [], 'media': [{'url': 'https://t.co/wX1cTEmMHh', 'media_url': 'http://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'id': 798334274776735746, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 680, 'w': 496}, 'large': {'resize': 'fit', 'h': 1021, 'w': 745}, 'medium': {'resize': 'fit', 'h': 1021, 'w': 745}}, 'media_url_https': 'https://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'indices': [51, 74], 'display_url': 'pic.twitter.com/wX1cTEmMHh', 'type': 'photo', 'id_str': '798334274776735746', 'expanded_url': 'https://twitter.com/Phonycian/status/798334279897911296/photo/1'}], 'user_mentions': [{'screen_name': 'kthalps', 'indices': [0, 8], 'id': 15859912, 'id_str': '15859912', 'name': 'Katie Halper'}]}, possibly_sensitive=False, in_reply_to_status_id=798333092637249536, contributors=None, in_reply_to_screen_name='kthalps', created_at=datetime.datetime(2016, 11, 15, 1, 18, 19), favorite_count=0, source_url='http://twitter.com/download/android', metadata={'iso_language_code': 'en', 'result_type': 'recent'}, source='Twitter for Android', in_reply_to_status_id_str='798333092637249536', extended_entities={'media': [{'url': 'https://t.co/wX1cTEmMHh', 'media_url': 'http://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'id': 798334274776735746, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 680, 'w': 496}, 'large': {'resize': 'fit', 'h': 1021, 'w': 745}, 'medium': {'resize': 'fit', 'h': 1021, 'w': 745}}, 'media_url_https': 'https://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'indices': [51, 74], 'display_url': 'pic.twitter.com/wX1cTEmMHh', 'type': 'photo', 'id_str': '798334274776735746', 'expanded_url': 'https://twitter.com/Phonycian/status/798334279897911296/photo/1'}]}, id=798334279897911296, in_reply_to_user_id=15859912, lang='en', in_reply_to_user_id_str='15859912', retweet_count=2, coordinates=None, retweeted=False, id_str='798334279897911296', truncated=False, favorited=False, _json={'geo': None, 'is_quote_status': False, 'user': {'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/842005350/92fa9f0de1c095b48eb9e97730efa59b.jpeg', 'utc_offset': 7200, 'entities': {'description': {'urls': []}}, 'listed_count': 28, 'profile_background_color': '1A1B1F', 'verified': False, 'followers_count': 927, 'url': None, 'friends_count': 944, 'is_translation_enabled': False, 'location': 'delawhere?', 'created_at': 'Thu Feb 24 19:39:30 +0000 2011', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Hotty McTakeface', 'statuses_count': 18814, 'profile_image_url': 'http://pbs.twimg.com/profile_images/797304170491547648/XghxQVn3_normal.jpg', 'profile_link_color': '2FC2EF', 'following': False, 'id': 257121282, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 37516, 'screen_name': 'Phonycian', 'is_translator': False, 'description': \"I'm just a ex-con trying to go straight and get my kids back. 🇱🇧\", 'id_str': '257121282', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/257121282/1463082336', 'has_extended_profile': True, 'time_zone': 'Jerusalem', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'FFFFFF', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/797304170491547648/XghxQVn3_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/842005350/92fa9f0de1c095b48eb9e97730efa59b.jpeg', 'profile_text_color': '333333', 'profile_background_tile': False}, 'text': '@kthalps hillary spent one million dollars on this https://t.co/wX1cTEmMHh', 'entities': {'hashtags': [], 'symbols': [], 'urls': [], 'media': [{'url': 'https://t.co/wX1cTEmMHh', 'media_url': 'http://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'id': 798334274776735746, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 680, 'w': 496}, 'large': {'resize': 'fit', 'h': 1021, 'w': 745}, 'medium': {'resize': 'fit', 'h': 1021, 'w': 745}}, 'media_url_https': 'https://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'indices': [51, 74], 'display_url': 'pic.twitter.com/wX1cTEmMHh', 'type': 'photo', 'id_str': '798334274776735746', 'expanded_url': 'https://twitter.com/Phonycian/status/798334279897911296/photo/1'}], 'user_mentions': [{'screen_name': 'kthalps', 'indices': [0, 8], 'id': 15859912, 'id_str': '15859912', 'name': 'Katie Halper'}]}, 'favorited': False, 'in_reply_to_status_id': 798333092637249536, 'in_reply_to_status_id_str': '798333092637249536', 'in_reply_to_screen_name': 'kthalps', 'created_at': 'Tue Nov 15 01:18:19 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'Twitter for Android ', 'contributors': None, 'extended_entities': {'media': [{'url': 'https://t.co/wX1cTEmMHh', 'media_url': 'http://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'id': 798334274776735746, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 680, 'w': 496}, 'large': {'resize': 'fit', 'h': 1021, 'w': 745}, 'medium': {'resize': 'fit', 'h': 1021, 'w': 745}}, 'media_url_https': 'https://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'indices': [51, 74], 'display_url': 'pic.twitter.com/wX1cTEmMHh', 'type': 'photo', 'id_str': '798334274776735746', 'expanded_url': 'https://twitter.com/Phonycian/status/798334279897911296/photo/1'}]}, 'id': 798334279897911296, 'in_reply_to_user_id': 15859912, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': '15859912', 'retweet_count': 2, 'coordinates': None, 'retweeted': False, 'id_str': '798334279897911296', 'truncated': False, 'place': None, 'favorite_count': 0}, _api=, place=None, author=User(verified=False, utc_offset=7200, entities={'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/257121282/1463082336', followers_count=927, url=None, is_translation_enabled=False, location='delawhere?', created_at=datetime.datetime(2011, 2, 24, 19, 39, 30), default_profile_image=False, profile_use_background_image=True, statuses_count=18814, protected=False, favourites_count=37516, profile_background_color='1A1B1F', is_translator=False, profile_text_color='333333', profile_link_color='2FC2EF', _json={'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/842005350/92fa9f0de1c095b48eb9e97730efa59b.jpeg', 'utc_offset': 7200, 'entities': {'description': {'urls': []}}, 'listed_count': 28, 'profile_background_color': '1A1B1F', 'verified': False, 'followers_count': 927, 'url': None, 'friends_count': 944, 'is_translation_enabled': False, 'location': 'delawhere?', 'created_at': 'Thu Feb 24 19:39:30 +0000 2011', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Hotty McTakeface', 'statuses_count': 18814, 'profile_image_url': 'http://pbs.twimg.com/profile_images/797304170491547648/XghxQVn3_normal.jpg', 'profile_link_color': '2FC2EF', 'following': False, 'id': 257121282, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 37516, 'screen_name': 'Phonycian', 'is_translator': False, 'description': \"I'm just a ex-con trying to go straight and get my kids back. 🇱🇧\", 'id_str': '257121282', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/257121282/1463082336', 'has_extended_profile': True, 'time_zone': 'Jerusalem', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'FFFFFF', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/797304170491547648/XghxQVn3_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/842005350/92fa9f0de1c095b48eb9e97730efa59b.jpeg', 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/797304170491547648/XghxQVn3_normal.jpg', profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/842005350/92fa9f0de1c095b48eb9e97730efa59b.jpeg', profile_background_tile=False, default_profile=False, geo_enabled=True, profile_background_image_url='http://pbs.twimg.com/profile_background_images/842005350/92fa9f0de1c095b48eb9e97730efa59b.jpeg', time_zone='Jerusalem', listed_count=28, following=False, friends_count=944, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='Hotty McTakeface', profile_image_url='http://pbs.twimg.com/profile_images/797304170491547648/XghxQVn3_normal.jpg', id=257121282, lang='en', description=\"I'm just a ex-con trying to go straight and get my kids back. 🇱🇧\", id_str='257121282', has_extended_profile=True, screen_name='Phonycian', profile_sidebar_border_color='FFFFFF')), in_reply_to_status_id=None, contributors=None, in_reply_to_screen_name=None, created_at=datetime.datetime(2016, 11, 15, 1, 20, 1), favorite_count=0, source_url='https://about.twitter.com/products/tweetdeck', metadata={'iso_language_code': 'en', 'result_type': 'recent'}, source='TweetDeck', in_reply_to_status_id_str=None, extended_entities={'media': [{'source_status_id_str': '798334279897911296', 'id': 798334274776735746, 'media_url_https': 'https://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'id_str': '798334274776735746', 'type': 'photo', 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 680, 'w': 496}, 'large': {'resize': 'fit', 'h': 1021, 'w': 745}, 'medium': {'resize': 'fit', 'h': 1021, 'w': 745}}, 'source_status_id': 798334279897911296, 'url': 'https://t.co/wX1cTEmMHh', 'media_url': 'http://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'source_user_id': 257121282, 'source_user_id_str': '257121282', 'indices': [66, 89], 'display_url': 'pic.twitter.com/wX1cTEmMHh', 'expanded_url': 'https://twitter.com/Phonycian/status/798334279897911296/photo/1'}]}, id=798334709310820352, in_reply_to_user_id=None, lang='en', in_reply_to_user_id_str=None, retweet_count=2, coordinates=None, retweeted=False, id_str='798334709310820352', truncated=False, favorited=False, _json={'geo': None, 'is_quote_status': False, 'user': {'default_profile': False, 'geo_enabled': False, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/476486305799356416/OvGvKPd5.png', 'utc_offset': -21600, 'entities': {'url': {'urls': [{'url': 'https://t.co/CAnYar8OTy', 'indices': [0, 23], 'display_url': 'obvious-humor.com', 'expanded_url': 'http://obvious-humor.com'}]}, 'description': {'urls': [{'url': 'https://t.co/cVDlWrjiaa', 'indices': [16, 39], 'display_url': 'trwnh.com', 'expanded_url': 'http://trwnh.com'}]}}, 'listed_count': 95, 'profile_background_color': '91B6BF', 'verified': False, 'followers_count': 477, 'url': 'https://t.co/CAnYar8OTy', 'friends_count': 54, 'is_translation_enabled': False, 'location': '[BHM] / MIA / DXB / AMM', 'created_at': 'Wed Jul 27 03:22:47 +0000 2011', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'make your move,', 'statuses_count': 89177, 'profile_image_url': 'http://pbs.twimg.com/profile_images/792086202065252354/PGttiKVD_normal.jpg', 'profile_link_color': '91B6BF', 'following': False, 'id': 343134767, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 44879, 'screen_name': 'obvious_humor', 'is_translator': False, 'description': '★☪Ⓐ☭☮⚑☼♏⚪about: https://t.co/cVDlWrjiaa. #circafam / #anberlinforever / #soulpunx⚪tech/professional @trwnh, politics @trwnhpol (nb/ace/they)', 'id_str': '343134767', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/343134767/1470874511', 'has_extended_profile': True, 'time_zone': 'Central Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': '000000', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/792086202065252354/PGttiKVD_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/476486305799356416/OvGvKPd5.png', 'profile_text_color': '333333', 'profile_background_tile': True}, 'text': 'RT @Phonycian: @kthalps hillary spent one million dollars on this https://t.co/wX1cTEmMHh', 'entities': {'hashtags': [], 'symbols': [], 'urls': [], 'media': [{'source_status_id_str': '798334279897911296', 'id': 798334274776735746, 'media_url_https': 'https://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'id_str': '798334274776735746', 'type': 'photo', 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 680, 'w': 496}, 'large': {'resize': 'fit', 'h': 1021, 'w': 745}, 'medium': {'resize': 'fit', 'h': 1021, 'w': 745}}, 'source_status_id': 798334279897911296, 'url': 'https://t.co/wX1cTEmMHh', 'media_url': 'http://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'source_user_id': 257121282, 'source_user_id_str': '257121282', 'indices': [66, 89], 'display_url': 'pic.twitter.com/wX1cTEmMHh', 'expanded_url': 'https://twitter.com/Phonycian/status/798334279897911296/photo/1'}], 'user_mentions': [{'screen_name': 'Phonycian', 'indices': [3, 13], 'id': 257121282, 'id_str': '257121282', 'name': 'Hotty McTakeface'}, {'screen_name': 'kthalps', 'indices': [15, 23], 'id': 15859912, 'id_str': '15859912', 'name': 'Katie Halper'}]}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Tue Nov 15 01:20:01 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'TweetDeck ', 'contributors': None, 'extended_entities': {'media': [{'source_status_id_str': '798334279897911296', 'id': 798334274776735746, 'media_url_https': 'https://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'id_str': '798334274776735746', 'type': 'photo', 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 680, 'w': 496}, 'large': {'resize': 'fit', 'h': 1021, 'w': 745}, 'medium': {'resize': 'fit', 'h': 1021, 'w': 745}}, 'source_status_id': 798334279897911296, 'url': 'https://t.co/wX1cTEmMHh', 'media_url': 'http://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'source_user_id': 257121282, 'source_user_id_str': '257121282', 'indices': [66, 89], 'display_url': 'pic.twitter.com/wX1cTEmMHh', 'expanded_url': 'https://twitter.com/Phonycian/status/798334279897911296/photo/1'}]}, 'id': 798334709310820352, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 2, 'coordinates': None, 'retweeted': False, 'id_str': '798334709310820352', 'truncated': False, 'place': None, 'favorite_count': 0, 'retweeted_status': {'geo': None, 'is_quote_status': False, 'user': {'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/842005350/92fa9f0de1c095b48eb9e97730efa59b.jpeg', 'utc_offset': 7200, 'entities': {'description': {'urls': []}}, 'listed_count': 28, 'profile_background_color': '1A1B1F', 'verified': False, 'followers_count': 927, 'url': None, 'friends_count': 944, 'is_translation_enabled': False, 'location': 'delawhere?', 'created_at': 'Thu Feb 24 19:39:30 +0000 2011', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Hotty McTakeface', 'statuses_count': 18814, 'profile_image_url': 'http://pbs.twimg.com/profile_images/797304170491547648/XghxQVn3_normal.jpg', 'profile_link_color': '2FC2EF', 'following': False, 'id': 257121282, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 37516, 'screen_name': 'Phonycian', 'is_translator': False, 'description': \"I'm just a ex-con trying to go straight and get my kids back. 🇱🇧\", 'id_str': '257121282', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/257121282/1463082336', 'has_extended_profile': True, 'time_zone': 'Jerusalem', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'FFFFFF', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/797304170491547648/XghxQVn3_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/842005350/92fa9f0de1c095b48eb9e97730efa59b.jpeg', 'profile_text_color': '333333', 'profile_background_tile': False}, 'text': '@kthalps hillary spent one million dollars on this https://t.co/wX1cTEmMHh', 'entities': {'hashtags': [], 'symbols': [], 'urls': [], 'media': [{'url': 'https://t.co/wX1cTEmMHh', 'media_url': 'http://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'id': 798334274776735746, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 680, 'w': 496}, 'large': {'resize': 'fit', 'h': 1021, 'w': 745}, 'medium': {'resize': 'fit', 'h': 1021, 'w': 745}}, 'media_url_https': 'https://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'indices': [51, 74], 'display_url': 'pic.twitter.com/wX1cTEmMHh', 'type': 'photo', 'id_str': '798334274776735746', 'expanded_url': 'https://twitter.com/Phonycian/status/798334279897911296/photo/1'}], 'user_mentions': [{'screen_name': 'kthalps', 'indices': [0, 8], 'id': 15859912, 'id_str': '15859912', 'name': 'Katie Halper'}]}, 'favorited': False, 'in_reply_to_status_id': 798333092637249536, 'in_reply_to_status_id_str': '798333092637249536', 'in_reply_to_screen_name': 'kthalps', 'created_at': 'Tue Nov 15 01:18:19 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'Twitter for Android ', 'contributors': None, 'extended_entities': {'media': [{'url': 'https://t.co/wX1cTEmMHh', 'media_url': 'http://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'id': 798334274776735746, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 680, 'w': 496}, 'large': {'resize': 'fit', 'h': 1021, 'w': 745}, 'medium': {'resize': 'fit', 'h': 1021, 'w': 745}}, 'media_url_https': 'https://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'indices': [51, 74], 'display_url': 'pic.twitter.com/wX1cTEmMHh', 'type': 'photo', 'id_str': '798334274776735746', 'expanded_url': 'https://twitter.com/Phonycian/status/798334279897911296/photo/1'}]}, 'id': 798334279897911296, 'in_reply_to_user_id': 15859912, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': '15859912', 'retweet_count': 2, 'coordinates': None, 'retweeted': False, 'id_str': '798334279897911296', 'truncated': False, 'place': None, 'favorite_count': 0}}, _api=, place=None, author=User(verified=False, utc_offset=-21600, entities={'url': {'urls': [{'url': 'https://t.co/CAnYar8OTy', 'indices': [0, 23], 'display_url': 'obvious-humor.com', 'expanded_url': 'http://obvious-humor.com'}]}, 'description': {'urls': [{'url': 'https://t.co/cVDlWrjiaa', 'indices': [16, 39], 'display_url': 'trwnh.com', 'expanded_url': 'http://trwnh.com'}]}}, profile_banner_url='https://pbs.twimg.com/profile_banners/343134767/1470874511', followers_count=477, url='https://t.co/CAnYar8OTy', is_translation_enabled=False, location='[BHM] / MIA / DXB / AMM', created_at=datetime.datetime(2011, 7, 27, 3, 22, 47), default_profile_image=False, profile_use_background_image=True, statuses_count=89177, protected=False, favourites_count=44879, profile_background_color='91B6BF', is_translator=False, profile_text_color='333333', profile_link_color='91B6BF', _json={'default_profile': False, 'geo_enabled': False, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/476486305799356416/OvGvKPd5.png', 'utc_offset': -21600, 'entities': {'url': {'urls': [{'url': 'https://t.co/CAnYar8OTy', 'indices': [0, 23], 'display_url': 'obvious-humor.com', 'expanded_url': 'http://obvious-humor.com'}]}, 'description': {'urls': [{'url': 'https://t.co/cVDlWrjiaa', 'indices': [16, 39], 'display_url': 'trwnh.com', 'expanded_url': 'http://trwnh.com'}]}}, 'listed_count': 95, 'profile_background_color': '91B6BF', 'verified': False, 'followers_count': 477, 'url': 'https://t.co/CAnYar8OTy', 'friends_count': 54, 'is_translation_enabled': False, 'location': '[BHM] / MIA / DXB / AMM', 'created_at': 'Wed Jul 27 03:22:47 +0000 2011', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'make your move,', 'statuses_count': 89177, 'profile_image_url': 'http://pbs.twimg.com/profile_images/792086202065252354/PGttiKVD_normal.jpg', 'profile_link_color': '91B6BF', 'following': False, 'id': 343134767, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 44879, 'screen_name': 'obvious_humor', 'is_translator': False, 'description': '★☪Ⓐ☭☮⚑☼♏⚪about: https://t.co/cVDlWrjiaa. #circafam / #anberlinforever / #soulpunx⚪tech/professional @trwnh, politics @trwnhpol (nb/ace/they)', 'id_str': '343134767', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/343134767/1470874511', 'has_extended_profile': True, 'time_zone': 'Central Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': '000000', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/792086202065252354/PGttiKVD_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/476486305799356416/OvGvKPd5.png', 'profile_text_color': '333333', 'profile_background_tile': True}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/792086202065252354/PGttiKVD_normal.jpg', profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/476486305799356416/OvGvKPd5.png', profile_background_tile=True, default_profile=False, geo_enabled=False, profile_background_image_url='http://pbs.twimg.com/profile_background_images/476486305799356416/OvGvKPd5.png', time_zone='Central Time (US & Canada)', listed_count=95, following=False, friends_count=54, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='make your move,', profile_image_url='http://pbs.twimg.com/profile_images/792086202065252354/PGttiKVD_normal.jpg', id=343134767, lang='en', description='★☪Ⓐ☭☮⚑☼♏⚪about: https://t.co/cVDlWrjiaa. #circafam / #anberlinforever / #soulpunx⚪tech/professional @trwnh, politics @trwnhpol (nb/ace/they)', id_str='343134767', has_extended_profile=True, screen_name='obvious_humor', profile_sidebar_border_color='000000')), Status(geo=None, is_quote_status=False, user=User(verified=False, utc_offset=-28800, entities={'url': {'urls': [{'url': 'https://t.co/cVDlWrjiaa', 'indices': [0, 23], 'display_url': 'trwnh.com', 'expanded_url': 'http://trwnh.com'}]}, 'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/713973252109021185/1475535670', followers_count=232, url='https://t.co/cVDlWrjiaa', is_translation_enabled=False, location='Birmingham, AL', created_at=datetime.datetime(2016, 3, 27, 6, 17, 43), default_profile_image=False, profile_use_background_image=True, statuses_count=21995, protected=False, favourites_count=13963, profile_background_color='F5F8FA', is_translator=False, profile_text_color='333333', profile_link_color='1DA1F2', _json={'default_profile': True, 'geo_enabled': False, 'profile_background_image_url': None, 'utc_offset': -28800, 'entities': {'url': {'urls': [{'url': 'https://t.co/cVDlWrjiaa', 'indices': [0, 23], 'display_url': 'trwnh.com', 'expanded_url': 'http://trwnh.com'}]}, 'description': {'urls': []}}, 'listed_count': 80, 'profile_background_color': 'F5F8FA', 'verified': False, 'followers_count': 232, 'url': 'https://t.co/cVDlWrjiaa', 'friends_count': 295, 'is_translation_enabled': False, 'location': 'Birmingham, AL', 'created_at': 'Sun Mar 27 06:17:43 +0000 2016', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Ⓐbdullah Tarawneh', 'statuses_count': 21995, 'profile_image_url': 'http://pbs.twimg.com/profile_images/721283937935441920/ZgGhu_w7_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 713973252109021185, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 13963, 'screen_name': 'trwnhpol', 'is_translator': False, 'description': 'Political ramblings from a non-partisan queer Muslim of color. Tech: @trwnh. Personal: @obvious_humor. Check my pinned thread for more. (nb/ace/they)\\n☮☪★☼⚑⚪♏︎', 'id_str': '713973252109021185', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/713973252109021185/1475535670', 'has_extended_profile': True, 'time_zone': 'Pacific Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/721283937935441920/ZgGhu_w7_normal.jpg', 'profile_background_image_url_https': None, 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/721283937935441920/ZgGhu_w7_normal.jpg', profile_background_image_url_https=None, profile_background_tile=False, default_profile=True, geo_enabled=False, profile_background_image_url=None, time_zone='Pacific Time (US & Canada)', listed_count=80, following=False, friends_count=295, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='Ⓐbdullah Tarawneh', profile_image_url='http://pbs.twimg.com/profile_images/721283937935441920/ZgGhu_w7_normal.jpg', id=713973252109021185, lang='en', description='Political ramblings from a non-partisan queer Muslim of color. Tech: @trwnh. Personal: @obvious_humor. Check my pinned thread for more. (nb/ace/they)\\n☮☪★☼⚑⚪♏︎', id_str='713973252109021185', has_extended_profile=True, screen_name='trwnhpol', profile_sidebar_border_color='C0DEED'), text='RT @Phonycian: @kthalps hillary spent one million dollars on this https://t.co/wX1cTEmMHh', entities={'hashtags': [], 'symbols': [], 'urls': [], 'media': [{'source_status_id_str': '798334279897911296', 'id': 798334274776735746, 'media_url_https': 'https://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'id_str': '798334274776735746', 'type': 'photo', 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 680, 'w': 496}, 'large': {'resize': 'fit', 'h': 1021, 'w': 745}, 'medium': {'resize': 'fit', 'h': 1021, 'w': 745}}, 'source_status_id': 798334279897911296, 'url': 'https://t.co/wX1cTEmMHh', 'media_url': 'http://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'source_user_id': 257121282, 'source_user_id_str': '257121282', 'indices': [66, 89], 'display_url': 'pic.twitter.com/wX1cTEmMHh', 'expanded_url': 'https://twitter.com/Phonycian/status/798334279897911296/photo/1'}], 'user_mentions': [{'screen_name': 'Phonycian', 'indices': [3, 13], 'id': 257121282, 'id_str': '257121282', 'name': 'Hotty McTakeface'}, {'screen_name': 'kthalps', 'indices': [15, 23], 'id': 15859912, 'id_str': '15859912', 'name': 'Katie Halper'}]}, possibly_sensitive=False, retweeted_status=Status(geo=None, is_quote_status=False, user=User(verified=False, utc_offset=7200, entities={'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/257121282/1463082336', followers_count=927, url=None, is_translation_enabled=False, location='delawhere?', created_at=datetime.datetime(2011, 2, 24, 19, 39, 30), default_profile_image=False, profile_use_background_image=True, statuses_count=18814, protected=False, favourites_count=37516, profile_background_color='1A1B1F', is_translator=False, profile_text_color='333333', profile_link_color='2FC2EF', _json={'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/842005350/92fa9f0de1c095b48eb9e97730efa59b.jpeg', 'utc_offset': 7200, 'entities': {'description': {'urls': []}}, 'listed_count': 28, 'profile_background_color': '1A1B1F', 'verified': False, 'followers_count': 927, 'url': None, 'friends_count': 944, 'is_translation_enabled': False, 'location': 'delawhere?', 'created_at': 'Thu Feb 24 19:39:30 +0000 2011', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Hotty McTakeface', 'statuses_count': 18814, 'profile_image_url': 'http://pbs.twimg.com/profile_images/797304170491547648/XghxQVn3_normal.jpg', 'profile_link_color': '2FC2EF', 'following': False, 'id': 257121282, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 37516, 'screen_name': 'Phonycian', 'is_translator': False, 'description': \"I'm just a ex-con trying to go straight and get my kids back. 🇱🇧\", 'id_str': '257121282', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/257121282/1463082336', 'has_extended_profile': True, 'time_zone': 'Jerusalem', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'FFFFFF', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/797304170491547648/XghxQVn3_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/842005350/92fa9f0de1c095b48eb9e97730efa59b.jpeg', 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/797304170491547648/XghxQVn3_normal.jpg', profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/842005350/92fa9f0de1c095b48eb9e97730efa59b.jpeg', profile_background_tile=False, default_profile=False, geo_enabled=True, profile_background_image_url='http://pbs.twimg.com/profile_background_images/842005350/92fa9f0de1c095b48eb9e97730efa59b.jpeg', time_zone='Jerusalem', listed_count=28, following=False, friends_count=944, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='Hotty McTakeface', profile_image_url='http://pbs.twimg.com/profile_images/797304170491547648/XghxQVn3_normal.jpg', id=257121282, lang='en', description=\"I'm just a ex-con trying to go straight and get my kids back. 🇱🇧\", id_str='257121282', has_extended_profile=True, screen_name='Phonycian', profile_sidebar_border_color='FFFFFF'), text='@kthalps hillary spent one million dollars on this https://t.co/wX1cTEmMHh', entities={'hashtags': [], 'symbols': [], 'urls': [], 'media': [{'url': 'https://t.co/wX1cTEmMHh', 'media_url': 'http://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'id': 798334274776735746, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 680, 'w': 496}, 'large': {'resize': 'fit', 'h': 1021, 'w': 745}, 'medium': {'resize': 'fit', 'h': 1021, 'w': 745}}, 'media_url_https': 'https://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'indices': [51, 74], 'display_url': 'pic.twitter.com/wX1cTEmMHh', 'type': 'photo', 'id_str': '798334274776735746', 'expanded_url': 'https://twitter.com/Phonycian/status/798334279897911296/photo/1'}], 'user_mentions': [{'screen_name': 'kthalps', 'indices': [0, 8], 'id': 15859912, 'id_str': '15859912', 'name': 'Katie Halper'}]}, possibly_sensitive=False, in_reply_to_status_id=798333092637249536, contributors=None, in_reply_to_screen_name='kthalps', created_at=datetime.datetime(2016, 11, 15, 1, 18, 19), favorite_count=0, source_url='http://twitter.com/download/android', metadata={'iso_language_code': 'en', 'result_type': 'recent'}, source='Twitter for Android', in_reply_to_status_id_str='798333092637249536', extended_entities={'media': [{'url': 'https://t.co/wX1cTEmMHh', 'media_url': 'http://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'id': 798334274776735746, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 680, 'w': 496}, 'large': {'resize': 'fit', 'h': 1021, 'w': 745}, 'medium': {'resize': 'fit', 'h': 1021, 'w': 745}}, 'media_url_https': 'https://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'indices': [51, 74], 'display_url': 'pic.twitter.com/wX1cTEmMHh', 'type': 'photo', 'id_str': '798334274776735746', 'expanded_url': 'https://twitter.com/Phonycian/status/798334279897911296/photo/1'}]}, id=798334279897911296, in_reply_to_user_id=15859912, lang='en', in_reply_to_user_id_str='15859912', retweet_count=2, coordinates=None, retweeted=False, id_str='798334279897911296', truncated=False, favorited=False, _json={'geo': None, 'is_quote_status': False, 'user': {'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/842005350/92fa9f0de1c095b48eb9e97730efa59b.jpeg', 'utc_offset': 7200, 'entities': {'description': {'urls': []}}, 'listed_count': 28, 'profile_background_color': '1A1B1F', 'verified': False, 'followers_count': 927, 'url': None, 'friends_count': 944, 'is_translation_enabled': False, 'location': 'delawhere?', 'created_at': 'Thu Feb 24 19:39:30 +0000 2011', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Hotty McTakeface', 'statuses_count': 18814, 'profile_image_url': 'http://pbs.twimg.com/profile_images/797304170491547648/XghxQVn3_normal.jpg', 'profile_link_color': '2FC2EF', 'following': False, 'id': 257121282, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 37516, 'screen_name': 'Phonycian', 'is_translator': False, 'description': \"I'm just a ex-con trying to go straight and get my kids back. 🇱🇧\", 'id_str': '257121282', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/257121282/1463082336', 'has_extended_profile': True, 'time_zone': 'Jerusalem', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'FFFFFF', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/797304170491547648/XghxQVn3_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/842005350/92fa9f0de1c095b48eb9e97730efa59b.jpeg', 'profile_text_color': '333333', 'profile_background_tile': False}, 'text': '@kthalps hillary spent one million dollars on this https://t.co/wX1cTEmMHh', 'entities': {'hashtags': [], 'symbols': [], 'urls': [], 'media': [{'url': 'https://t.co/wX1cTEmMHh', 'media_url': 'http://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'id': 798334274776735746, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 680, 'w': 496}, 'large': {'resize': 'fit', 'h': 1021, 'w': 745}, 'medium': {'resize': 'fit', 'h': 1021, 'w': 745}}, 'media_url_https': 'https://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'indices': [51, 74], 'display_url': 'pic.twitter.com/wX1cTEmMHh', 'type': 'photo', 'id_str': '798334274776735746', 'expanded_url': 'https://twitter.com/Phonycian/status/798334279897911296/photo/1'}], 'user_mentions': [{'screen_name': 'kthalps', 'indices': [0, 8], 'id': 15859912, 'id_str': '15859912', 'name': 'Katie Halper'}]}, 'favorited': False, 'in_reply_to_status_id': 798333092637249536, 'in_reply_to_status_id_str': '798333092637249536', 'in_reply_to_screen_name': 'kthalps', 'created_at': 'Tue Nov 15 01:18:19 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'Twitter for Android ', 'contributors': None, 'extended_entities': {'media': [{'url': 'https://t.co/wX1cTEmMHh', 'media_url': 'http://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'id': 798334274776735746, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 680, 'w': 496}, 'large': {'resize': 'fit', 'h': 1021, 'w': 745}, 'medium': {'resize': 'fit', 'h': 1021, 'w': 745}}, 'media_url_https': 'https://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'indices': [51, 74], 'display_url': 'pic.twitter.com/wX1cTEmMHh', 'type': 'photo', 'id_str': '798334274776735746', 'expanded_url': 'https://twitter.com/Phonycian/status/798334279897911296/photo/1'}]}, 'id': 798334279897911296, 'in_reply_to_user_id': 15859912, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': '15859912', 'retweet_count': 2, 'coordinates': None, 'retweeted': False, 'id_str': '798334279897911296', 'truncated': False, 'place': None, 'favorite_count': 0}, _api=, place=None, author=User(verified=False, utc_offset=7200, entities={'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/257121282/1463082336', followers_count=927, url=None, is_translation_enabled=False, location='delawhere?', created_at=datetime.datetime(2011, 2, 24, 19, 39, 30), default_profile_image=False, profile_use_background_image=True, statuses_count=18814, protected=False, favourites_count=37516, profile_background_color='1A1B1F', is_translator=False, profile_text_color='333333', profile_link_color='2FC2EF', _json={'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/842005350/92fa9f0de1c095b48eb9e97730efa59b.jpeg', 'utc_offset': 7200, 'entities': {'description': {'urls': []}}, 'listed_count': 28, 'profile_background_color': '1A1B1F', 'verified': False, 'followers_count': 927, 'url': None, 'friends_count': 944, 'is_translation_enabled': False, 'location': 'delawhere?', 'created_at': 'Thu Feb 24 19:39:30 +0000 2011', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Hotty McTakeface', 'statuses_count': 18814, 'profile_image_url': 'http://pbs.twimg.com/profile_images/797304170491547648/XghxQVn3_normal.jpg', 'profile_link_color': '2FC2EF', 'following': False, 'id': 257121282, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 37516, 'screen_name': 'Phonycian', 'is_translator': False, 'description': \"I'm just a ex-con trying to go straight and get my kids back. 🇱🇧\", 'id_str': '257121282', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/257121282/1463082336', 'has_extended_profile': True, 'time_zone': 'Jerusalem', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'FFFFFF', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/797304170491547648/XghxQVn3_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/842005350/92fa9f0de1c095b48eb9e97730efa59b.jpeg', 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/797304170491547648/XghxQVn3_normal.jpg', profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/842005350/92fa9f0de1c095b48eb9e97730efa59b.jpeg', profile_background_tile=False, default_profile=False, geo_enabled=True, profile_background_image_url='http://pbs.twimg.com/profile_background_images/842005350/92fa9f0de1c095b48eb9e97730efa59b.jpeg', time_zone='Jerusalem', listed_count=28, following=False, friends_count=944, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='Hotty McTakeface', profile_image_url='http://pbs.twimg.com/profile_images/797304170491547648/XghxQVn3_normal.jpg', id=257121282, lang='en', description=\"I'm just a ex-con trying to go straight and get my kids back. 🇱🇧\", id_str='257121282', has_extended_profile=True, screen_name='Phonycian', profile_sidebar_border_color='FFFFFF')), in_reply_to_status_id=None, contributors=None, in_reply_to_screen_name=None, created_at=datetime.datetime(2016, 11, 15, 1, 20, 1), favorite_count=0, source_url='https://about.twitter.com/products/tweetdeck', metadata={'iso_language_code': 'en', 'result_type': 'recent'}, source='TweetDeck', in_reply_to_status_id_str=None, extended_entities={'media': [{'source_status_id_str': '798334279897911296', 'id': 798334274776735746, 'media_url_https': 'https://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'id_str': '798334274776735746', 'type': 'photo', 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 680, 'w': 496}, 'large': {'resize': 'fit', 'h': 1021, 'w': 745}, 'medium': {'resize': 'fit', 'h': 1021, 'w': 745}}, 'source_status_id': 798334279897911296, 'url': 'https://t.co/wX1cTEmMHh', 'media_url': 'http://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'source_user_id': 257121282, 'source_user_id_str': '257121282', 'indices': [66, 89], 'display_url': 'pic.twitter.com/wX1cTEmMHh', 'expanded_url': 'https://twitter.com/Phonycian/status/798334279897911296/photo/1'}]}, id=798334709302513664, in_reply_to_user_id=None, lang='en', in_reply_to_user_id_str=None, retweet_count=2, coordinates=None, retweeted=False, id_str='798334709302513664', truncated=False, favorited=False, _json={'geo': None, 'is_quote_status': False, 'user': {'default_profile': True, 'geo_enabled': False, 'profile_background_image_url': None, 'utc_offset': -28800, 'entities': {'url': {'urls': [{'url': 'https://t.co/cVDlWrjiaa', 'indices': [0, 23], 'display_url': 'trwnh.com', 'expanded_url': 'http://trwnh.com'}]}, 'description': {'urls': []}}, 'listed_count': 80, 'profile_background_color': 'F5F8FA', 'verified': False, 'followers_count': 232, 'url': 'https://t.co/cVDlWrjiaa', 'friends_count': 295, 'is_translation_enabled': False, 'location': 'Birmingham, AL', 'created_at': 'Sun Mar 27 06:17:43 +0000 2016', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Ⓐbdullah Tarawneh', 'statuses_count': 21995, 'profile_image_url': 'http://pbs.twimg.com/profile_images/721283937935441920/ZgGhu_w7_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 713973252109021185, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 13963, 'screen_name': 'trwnhpol', 'is_translator': False, 'description': 'Political ramblings from a non-partisan queer Muslim of color. Tech: @trwnh. Personal: @obvious_humor. Check my pinned thread for more. (nb/ace/they)\\n☮☪★☼⚑⚪♏︎', 'id_str': '713973252109021185', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/713973252109021185/1475535670', 'has_extended_profile': True, 'time_zone': 'Pacific Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/721283937935441920/ZgGhu_w7_normal.jpg', 'profile_background_image_url_https': None, 'profile_text_color': '333333', 'profile_background_tile': False}, 'text': 'RT @Phonycian: @kthalps hillary spent one million dollars on this https://t.co/wX1cTEmMHh', 'entities': {'hashtags': [], 'symbols': [], 'urls': [], 'media': [{'source_status_id_str': '798334279897911296', 'id': 798334274776735746, 'media_url_https': 'https://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'id_str': '798334274776735746', 'type': 'photo', 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 680, 'w': 496}, 'large': {'resize': 'fit', 'h': 1021, 'w': 745}, 'medium': {'resize': 'fit', 'h': 1021, 'w': 745}}, 'source_status_id': 798334279897911296, 'url': 'https://t.co/wX1cTEmMHh', 'media_url': 'http://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'source_user_id': 257121282, 'source_user_id_str': '257121282', 'indices': [66, 89], 'display_url': 'pic.twitter.com/wX1cTEmMHh', 'expanded_url': 'https://twitter.com/Phonycian/status/798334279897911296/photo/1'}], 'user_mentions': [{'screen_name': 'Phonycian', 'indices': [3, 13], 'id': 257121282, 'id_str': '257121282', 'name': 'Hotty McTakeface'}, {'screen_name': 'kthalps', 'indices': [15, 23], 'id': 15859912, 'id_str': '15859912', 'name': 'Katie Halper'}]}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Tue Nov 15 01:20:01 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'TweetDeck ', 'contributors': None, 'extended_entities': {'media': [{'source_status_id_str': '798334279897911296', 'id': 798334274776735746, 'media_url_https': 'https://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'id_str': '798334274776735746', 'type': 'photo', 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 680, 'w': 496}, 'large': {'resize': 'fit', 'h': 1021, 'w': 745}, 'medium': {'resize': 'fit', 'h': 1021, 'w': 745}}, 'source_status_id': 798334279897911296, 'url': 'https://t.co/wX1cTEmMHh', 'media_url': 'http://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'source_user_id': 257121282, 'source_user_id_str': '257121282', 'indices': [66, 89], 'display_url': 'pic.twitter.com/wX1cTEmMHh', 'expanded_url': 'https://twitter.com/Phonycian/status/798334279897911296/photo/1'}]}, 'id': 798334709302513664, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 2, 'coordinates': None, 'retweeted': False, 'id_str': '798334709302513664', 'truncated': False, 'place': None, 'favorite_count': 0, 'retweeted_status': {'geo': None, 'is_quote_status': False, 'user': {'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/842005350/92fa9f0de1c095b48eb9e97730efa59b.jpeg', 'utc_offset': 7200, 'entities': {'description': {'urls': []}}, 'listed_count': 28, 'profile_background_color': '1A1B1F', 'verified': False, 'followers_count': 927, 'url': None, 'friends_count': 944, 'is_translation_enabled': False, 'location': 'delawhere?', 'created_at': 'Thu Feb 24 19:39:30 +0000 2011', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Hotty McTakeface', 'statuses_count': 18814, 'profile_image_url': 'http://pbs.twimg.com/profile_images/797304170491547648/XghxQVn3_normal.jpg', 'profile_link_color': '2FC2EF', 'following': False, 'id': 257121282, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 37516, 'screen_name': 'Phonycian', 'is_translator': False, 'description': \"I'm just a ex-con trying to go straight and get my kids back. 🇱🇧\", 'id_str': '257121282', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/257121282/1463082336', 'has_extended_profile': True, 'time_zone': 'Jerusalem', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'FFFFFF', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/797304170491547648/XghxQVn3_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/842005350/92fa9f0de1c095b48eb9e97730efa59b.jpeg', 'profile_text_color': '333333', 'profile_background_tile': False}, 'text': '@kthalps hillary spent one million dollars on this https://t.co/wX1cTEmMHh', 'entities': {'hashtags': [], 'symbols': [], 'urls': [], 'media': [{'url': 'https://t.co/wX1cTEmMHh', 'media_url': 'http://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'id': 798334274776735746, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 680, 'w': 496}, 'large': {'resize': 'fit', 'h': 1021, 'w': 745}, 'medium': {'resize': 'fit', 'h': 1021, 'w': 745}}, 'media_url_https': 'https://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'indices': [51, 74], 'display_url': 'pic.twitter.com/wX1cTEmMHh', 'type': 'photo', 'id_str': '798334274776735746', 'expanded_url': 'https://twitter.com/Phonycian/status/798334279897911296/photo/1'}], 'user_mentions': [{'screen_name': 'kthalps', 'indices': [0, 8], 'id': 15859912, 'id_str': '15859912', 'name': 'Katie Halper'}]}, 'favorited': False, 'in_reply_to_status_id': 798333092637249536, 'in_reply_to_status_id_str': '798333092637249536', 'in_reply_to_screen_name': 'kthalps', 'created_at': 'Tue Nov 15 01:18:19 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'Twitter for Android ', 'contributors': None, 'extended_entities': {'media': [{'url': 'https://t.co/wX1cTEmMHh', 'media_url': 'http://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'id': 798334274776735746, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 680, 'w': 496}, 'large': {'resize': 'fit', 'h': 1021, 'w': 745}, 'medium': {'resize': 'fit', 'h': 1021, 'w': 745}}, 'media_url_https': 'https://pbs.twimg.com/media/CxRAywwWIAINKI1.jpg', 'indices': [51, 74], 'display_url': 'pic.twitter.com/wX1cTEmMHh', 'type': 'photo', 'id_str': '798334274776735746', 'expanded_url': 'https://twitter.com/Phonycian/status/798334279897911296/photo/1'}]}, 'id': 798334279897911296, 'in_reply_to_user_id': 15859912, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': '15859912', 'retweet_count': 2, 'coordinates': None, 'retweeted': False, 'id_str': '798334279897911296', 'truncated': False, 'place': None, 'favorite_count': 0}}, _api=, place=None, author=User(verified=False, utc_offset=-28800, entities={'url': {'urls': [{'url': 'https://t.co/cVDlWrjiaa', 'indices': [0, 23], 'display_url': 'trwnh.com', 'expanded_url': 'http://trwnh.com'}]}, 'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/713973252109021185/1475535670', followers_count=232, url='https://t.co/cVDlWrjiaa', is_translation_enabled=False, location='Birmingham, AL', created_at=datetime.datetime(2016, 3, 27, 6, 17, 43), default_profile_image=False, profile_use_background_image=True, statuses_count=21995, protected=False, favourites_count=13963, profile_background_color='F5F8FA', is_translator=False, profile_text_color='333333', profile_link_color='1DA1F2', _json={'default_profile': True, 'geo_enabled': False, 'profile_background_image_url': None, 'utc_offset': -28800, 'entities': {'url': {'urls': [{'url': 'https://t.co/cVDlWrjiaa', 'indices': [0, 23], 'display_url': 'trwnh.com', 'expanded_url': 'http://trwnh.com'}]}, 'description': {'urls': []}}, 'listed_count': 80, 'profile_background_color': 'F5F8FA', 'verified': False, 'followers_count': 232, 'url': 'https://t.co/cVDlWrjiaa', 'friends_count': 295, 'is_translation_enabled': False, 'location': 'Birmingham, AL', 'created_at': 'Sun Mar 27 06:17:43 +0000 2016', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Ⓐbdullah Tarawneh', 'statuses_count': 21995, 'profile_image_url': 'http://pbs.twimg.com/profile_images/721283937935441920/ZgGhu_w7_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 713973252109021185, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 13963, 'screen_name': 'trwnhpol', 'is_translator': False, 'description': 'Political ramblings from a non-partisan queer Muslim of color. Tech: @trwnh. Personal: @obvious_humor. Check my pinned thread for more. (nb/ace/they)\\n☮☪★☼⚑⚪♏︎', 'id_str': '713973252109021185', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/713973252109021185/1475535670', 'has_extended_profile': True, 'time_zone': 'Pacific Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/721283937935441920/ZgGhu_w7_normal.jpg', 'profile_background_image_url_https': None, 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/721283937935441920/ZgGhu_w7_normal.jpg', profile_background_image_url_https=None, profile_background_tile=False, default_profile=True, geo_enabled=False, profile_background_image_url=None, time_zone='Pacific Time (US & Canada)', listed_count=80, following=False, friends_count=295, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='Ⓐbdullah Tarawneh', profile_image_url='http://pbs.twimg.com/profile_images/721283937935441920/ZgGhu_w7_normal.jpg', id=713973252109021185, lang='en', description='Political ramblings from a non-partisan queer Muslim of color. Tech: @trwnh. Personal: @obvious_humor. Check my pinned thread for more. (nb/ace/they)\\n☮☪★☼⚑⚪♏︎', id_str='713973252109021185', has_extended_profile=True, screen_name='trwnhpol', profile_sidebar_border_color='C0DEED')), Status(geo=None, is_quote_status=True, user=User(verified=False, utc_offset=28800, entities={'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/20922072/1367141775', followers_count=227, url=None, is_translation_enabled=False, location=\"BUD | SIN | Swarthmore'18 | 北京\", created_at=datetime.datetime(2009, 2, 15, 17, 18, 19), default_profile_image=False, profile_use_background_image=True, statuses_count=8215, protected=False, favourites_count=915, profile_background_color='C0DEED', is_translator=False, profile_text_color='333333', profile_link_color='0084B4', _json={'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/871370963/531f3fe4016f0abd761346170ab1cb12.jpeg', 'utc_offset': 28800, 'entities': {'description': {'urls': []}}, 'listed_count': 19, 'profile_background_color': 'C0DEED', 'verified': False, 'followers_count': 227, 'url': None, 'friends_count': 766, 'is_translation_enabled': False, 'location': \"BUD | SIN | Swarthmore'18 | 北京\", 'created_at': 'Sun Feb 15 17:18:19 +0000 2009', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'István Cselőtei「趙義方」', 'statuses_count': 8215, 'profile_image_url': 'http://pbs.twimg.com/profile_images/378800000571850960/2e0e09018f7a3be7956d520976523cf1_normal.jpeg', 'profile_link_color': '0084B4', 'following': False, 'id': 20922072, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 915, 'screen_name': 'ic99', 'is_translator': False, 'description': 'Eastern influences, around the globe. Grew up in US East Coast, Eastern Europe, South East Asia currently based in Beijing. Avid traveller, informed citizen.', 'id_str': '20922072', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/20922072/1367141775', 'has_extended_profile': False, 'time_zone': 'Singapore', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'FFFFFF', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/378800000571850960/2e0e09018f7a3be7956d520976523cf1_normal.jpeg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/871370963/531f3fe4016f0abd761346170ab1cb12.jpeg', 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/378800000571850960/2e0e09018f7a3be7956d520976523cf1_normal.jpeg', profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/871370963/531f3fe4016f0abd761346170ab1cb12.jpeg', profile_background_tile=False, default_profile=False, geo_enabled=True, profile_background_image_url='http://pbs.twimg.com/profile_background_images/871370963/531f3fe4016f0abd761346170ab1cb12.jpeg', time_zone='Singapore', listed_count=19, following=False, friends_count=766, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='István Cselőtei「趙義方」', profile_image_url='http://pbs.twimg.com/profile_images/378800000571850960/2e0e09018f7a3be7956d520976523cf1_normal.jpeg', id=20922072, lang='en', description='Eastern influences, around the globe. Grew up in US East Coast, Eastern Europe, South East Asia currently based in Beijing. Avid traveller, informed citizen.', id_str='20922072', has_extended_profile=False, screen_name='ic99', profile_sidebar_border_color='FFFFFF'), text=\"RT @MrDane1982: The same man who said Hillary Clinton can't be president if she wants to shield her emails from the American people is now…\", entities={'hashtags': [], 'symbols': [], 'urls': [], 'user_mentions': [{'screen_name': 'MrDane1982', 'indices': [3, 14], 'id': 543780273, 'id_str': '543780273', 'name': 'Mr. Weeks'}]}, retweeted_status=Status(geo=None, is_quote_status=True, user=User(verified=False, utc_offset=-18000, entities={'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/543780273/1434828147', followers_count=18189, url=None, is_translation_enabled=False, location='Bronx, New York', created_at=datetime.datetime(2012, 4, 2, 20, 6, 19), default_profile_image=False, profile_use_background_image=True, statuses_count=116958, protected=False, favourites_count=48022, profile_background_color='2424A6', is_translator=False, profile_text_color='333333', profile_link_color='3B94D9', _json={'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/841556039/68604e71139f0c1b4cbc0e650ccf1f52.jpeg', 'utc_offset': -18000, 'entities': {'description': {'urls': []}}, 'listed_count': 275, 'profile_background_color': '2424A6', 'verified': False, 'followers_count': 18189, 'url': None, 'friends_count': 9792, 'is_translation_enabled': False, 'location': 'Bronx, New York', 'created_at': 'Mon Apr 02 20:06:19 +0000 2012', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Mr. Weeks', 'statuses_count': 116958, 'profile_image_url': 'http://pbs.twimg.com/profile_images/785178833813172224/MvbySYWa_normal.jpg', 'profile_link_color': '3B94D9', 'following': False, 'id': 543780273, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 48022, 'screen_name': 'MrDane1982', 'is_translator': False, 'description': 'We need realistic policies, Smart power and someone willing to make Hard choices. We need LEADERS! @HillaryClinton Supporter Democrats2016 TeamObama', 'id_str': '543780273', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/543780273/1434828147', 'has_extended_profile': False, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'FFFFFF', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/785178833813172224/MvbySYWa_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/841556039/68604e71139f0c1b4cbc0e650ccf1f52.jpeg', 'profile_text_color': '333333', 'profile_background_tile': True}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/785178833813172224/MvbySYWa_normal.jpg', profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/841556039/68604e71139f0c1b4cbc0e650ccf1f52.jpeg', profile_background_tile=True, default_profile=False, geo_enabled=True, profile_background_image_url='http://pbs.twimg.com/profile_background_images/841556039/68604e71139f0c1b4cbc0e650ccf1f52.jpeg', time_zone='Eastern Time (US & Canada)', listed_count=275, following=False, friends_count=9792, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='Mr. Weeks', profile_image_url='http://pbs.twimg.com/profile_images/785178833813172224/MvbySYWa_normal.jpg', id=543780273, lang='en', description='We need realistic policies, Smart power and someone willing to make Hard choices. We need LEADERS! @HillaryClinton Supporter Democrats2016 TeamObama', id_str='543780273', has_extended_profile=False, screen_name='MrDane1982', profile_sidebar_border_color='FFFFFF'), text=\"The same man who said Hillary Clinton can't be president if she wants to shield her emails from the American people… https://t.co/48KwCRQnwv\", entities={'hashtags': [], 'symbols': [], 'urls': [{'url': 'https://t.co/48KwCRQnwv', 'indices': [117, 140], 'display_url': 'twitter.com/i/web/status/7…', 'expanded_url': 'https://twitter.com/i/web/status/798304217773416449'}], 'user_mentions': []}, possibly_sensitive=False, in_reply_to_status_id=None, contributors=None, in_reply_to_screen_name=None, created_at=datetime.datetime(2016, 11, 14, 23, 18, 51), favorite_count=204, source_url='http://twitter.com/download/android', metadata={'iso_language_code': 'en', 'result_type': 'recent'}, source='Twitter for Android', in_reply_to_status_id_str=None, id=798304217773416449, in_reply_to_user_id=None, lang='en', in_reply_to_user_id_str=None, retweet_count=265, coordinates=None, retweeted=False, id_str='798304217773416449', quoted_status_id=798198333051375616, quoted_status={'geo': None, 'is_quote_status': False, 'user': {'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/796212188/bbdc5e3f7842b5b33f418ac5bc9685ee.jpeg', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'http://t.co/BE5JFAdb46', 'indices': [0, 22], 'display_url': 'politico.com', 'expanded_url': 'http://www.politico.com'}]}, 'description': {'urls': []}}, 'listed_count': 31739, 'profile_background_color': 'E6E6E6', 'verified': True, 'followers_count': 2184223, 'url': 'http://t.co/BE5JFAdb46', 'friends_count': 1233, 'is_translation_enabled': False, 'location': 'Washington, D.C.', 'created_at': 'Mon Oct 08 00:29:38 +0000 2007', 'default_profile_image': False, 'profile_use_background_image': False, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'POLITICO', 'statuses_count': 195942, 'profile_image_url': 'http://pbs.twimg.com/profile_images/677177503694237697/y6yTzWn6_normal.png', 'profile_link_color': 'DD2E44', 'following': False, 'id': 9300262, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 9, 'screen_name': 'politico', 'is_translator': False, 'description': 'Nobody knows politics like POLITICO.', 'id_str': '9300262', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/9300262/1447437792', 'has_extended_profile': False, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'regular', 'profile_sidebar_border_color': 'FFFFFF', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/677177503694237697/y6yTzWn6_normal.png', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/796212188/bbdc5e3f7842b5b33f418ac5bc9685ee.jpeg', 'profile_text_color': '333333', 'profile_background_tile': True}, 'text': 'Mike Pence is going to court to shield his emails from public scrutiny https://t.co/mQmdOWNW1a | AP Photo https://t.co/bLTAbBixuh', 'entities': {'hashtags': [], 'symbols': [], 'urls': [{'url': 'https://t.co/mQmdOWNW1a', 'indices': [71, 94], 'display_url': 'politi.co/2eTpdI1', 'expanded_url': 'http://politi.co/2eTpdI1'}], 'media': [{'url': 'https://t.co/bLTAbBixuh', 'media_url': 'http://pbs.twimg.com/media/CxPFJudW8AAegAj.jpg', 'id': 798198329855373312, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 369, 'w': 680}, 'large': {'resize': 'fit', 'h': 629, 'w': 1160}, 'medium': {'resize': 'fit', 'h': 629, 'w': 1160}}, 'media_url_https': 'https://pbs.twimg.com/media/CxPFJudW8AAegAj.jpg', 'indices': [106, 129], 'display_url': 'pic.twitter.com/bLTAbBixuh', 'type': 'photo', 'id_str': '798198329855373312', 'expanded_url': 'https://twitter.com/politico/status/798198333051375616/photo/1'}], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Mon Nov 14 16:18:07 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'SocialFlow ', 'contributors': None, 'extended_entities': {'media': [{'url': 'https://t.co/bLTAbBixuh', 'media_url': 'http://pbs.twimg.com/media/CxPFJudW8AAegAj.jpg', 'id': 798198329855373312, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 369, 'w': 680}, 'large': {'resize': 'fit', 'h': 629, 'w': 1160}, 'medium': {'resize': 'fit', 'h': 629, 'w': 1160}}, 'media_url_https': 'https://pbs.twimg.com/media/CxPFJudW8AAegAj.jpg', 'indices': [106, 129], 'display_url': 'pic.twitter.com/bLTAbBixuh', 'type': 'photo', 'id_str': '798198329855373312', 'expanded_url': 'https://twitter.com/politico/status/798198333051375616/photo/1'}]}, 'id': 798198333051375616, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 6551, 'coordinates': None, 'retweeted': False, 'id_str': '798198333051375616', 'truncated': False, 'place': None, 'favorite_count': 4348}, truncated=True, quoted_status_id_str='798198333051375616', favorited=False, _json={'geo': None, 'is_quote_status': True, 'user': {'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/841556039/68604e71139f0c1b4cbc0e650ccf1f52.jpeg', 'utc_offset': -18000, 'entities': {'description': {'urls': []}}, 'listed_count': 275, 'profile_background_color': '2424A6', 'verified': False, 'followers_count': 18189, 'url': None, 'friends_count': 9792, 'is_translation_enabled': False, 'location': 'Bronx, New York', 'created_at': 'Mon Apr 02 20:06:19 +0000 2012', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Mr. Weeks', 'statuses_count': 116958, 'profile_image_url': 'http://pbs.twimg.com/profile_images/785178833813172224/MvbySYWa_normal.jpg', 'profile_link_color': '3B94D9', 'following': False, 'id': 543780273, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 48022, 'screen_name': 'MrDane1982', 'is_translator': False, 'description': 'We need realistic policies, Smart power and someone willing to make Hard choices. We need LEADERS! @HillaryClinton Supporter Democrats2016 TeamObama', 'id_str': '543780273', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/543780273/1434828147', 'has_extended_profile': False, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'FFFFFF', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/785178833813172224/MvbySYWa_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/841556039/68604e71139f0c1b4cbc0e650ccf1f52.jpeg', 'profile_text_color': '333333', 'profile_background_tile': True}, 'text': \"The same man who said Hillary Clinton can't be president if she wants to shield her emails from the American people… https://t.co/48KwCRQnwv\", 'entities': {'hashtags': [], 'symbols': [], 'urls': [{'url': 'https://t.co/48KwCRQnwv', 'indices': [117, 140], 'display_url': 'twitter.com/i/web/status/7…', 'expanded_url': 'https://twitter.com/i/web/status/798304217773416449'}], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Mon Nov 14 23:18:51 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'Twitter for Android ', 'contributors': None, 'id': 798304217773416449, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 265, 'coordinates': None, 'retweeted': False, 'id_str': '798304217773416449', 'quoted_status_id': 798198333051375616, 'quoted_status': {'geo': None, 'is_quote_status': False, 'user': {'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/796212188/bbdc5e3f7842b5b33f418ac5bc9685ee.jpeg', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'http://t.co/BE5JFAdb46', 'indices': [0, 22], 'display_url': 'politico.com', 'expanded_url': 'http://www.politico.com'}]}, 'description': {'urls': []}}, 'listed_count': 31739, 'profile_background_color': 'E6E6E6', 'verified': True, 'followers_count': 2184223, 'url': 'http://t.co/BE5JFAdb46', 'friends_count': 1233, 'is_translation_enabled': False, 'location': 'Washington, D.C.', 'created_at': 'Mon Oct 08 00:29:38 +0000 2007', 'default_profile_image': False, 'profile_use_background_image': False, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'POLITICO', 'statuses_count': 195942, 'profile_image_url': 'http://pbs.twimg.com/profile_images/677177503694237697/y6yTzWn6_normal.png', 'profile_link_color': 'DD2E44', 'following': False, 'id': 9300262, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 9, 'screen_name': 'politico', 'is_translator': False, 'description': 'Nobody knows politics like POLITICO.', 'id_str': '9300262', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/9300262/1447437792', 'has_extended_profile': False, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'regular', 'profile_sidebar_border_color': 'FFFFFF', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/677177503694237697/y6yTzWn6_normal.png', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/796212188/bbdc5e3f7842b5b33f418ac5bc9685ee.jpeg', 'profile_text_color': '333333', 'profile_background_tile': True}, 'text': 'Mike Pence is going to court to shield his emails from public scrutiny https://t.co/mQmdOWNW1a | AP Photo https://t.co/bLTAbBixuh', 'entities': {'hashtags': [], 'symbols': [], 'urls': [{'url': 'https://t.co/mQmdOWNW1a', 'indices': [71, 94], 'display_url': 'politi.co/2eTpdI1', 'expanded_url': 'http://politi.co/2eTpdI1'}], 'media': [{'url': 'https://t.co/bLTAbBixuh', 'media_url': 'http://pbs.twimg.com/media/CxPFJudW8AAegAj.jpg', 'id': 798198329855373312, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 369, 'w': 680}, 'large': {'resize': 'fit', 'h': 629, 'w': 1160}, 'medium': {'resize': 'fit', 'h': 629, 'w': 1160}}, 'media_url_https': 'https://pbs.twimg.com/media/CxPFJudW8AAegAj.jpg', 'indices': [106, 129], 'display_url': 'pic.twitter.com/bLTAbBixuh', 'type': 'photo', 'id_str': '798198329855373312', 'expanded_url': 'https://twitter.com/politico/status/798198333051375616/photo/1'}], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Mon Nov 14 16:18:07 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'SocialFlow ', 'contributors': None, 'extended_entities': {'media': [{'url': 'https://t.co/bLTAbBixuh', 'media_url': 'http://pbs.twimg.com/media/CxPFJudW8AAegAj.jpg', 'id': 798198329855373312, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 369, 'w': 680}, 'large': {'resize': 'fit', 'h': 629, 'w': 1160}, 'medium': {'resize': 'fit', 'h': 629, 'w': 1160}}, 'media_url_https': 'https://pbs.twimg.com/media/CxPFJudW8AAegAj.jpg', 'indices': [106, 129], 'display_url': 'pic.twitter.com/bLTAbBixuh', 'type': 'photo', 'id_str': '798198329855373312', 'expanded_url': 'https://twitter.com/politico/status/798198333051375616/photo/1'}]}, 'id': 798198333051375616, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 6551, 'coordinates': None, 'retweeted': False, 'id_str': '798198333051375616', 'truncated': False, 'place': None, 'favorite_count': 4348}, 'truncated': True, 'quoted_status_id_str': '798198333051375616', 'place': None, 'favorite_count': 204}, _api=, place=None, author=User(verified=False, utc_offset=-18000, entities={'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/543780273/1434828147', followers_count=18189, url=None, is_translation_enabled=False, location='Bronx, New York', created_at=datetime.datetime(2012, 4, 2, 20, 6, 19), default_profile_image=False, profile_use_background_image=True, statuses_count=116958, protected=False, favourites_count=48022, profile_background_color='2424A6', is_translator=False, profile_text_color='333333', profile_link_color='3B94D9', _json={'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/841556039/68604e71139f0c1b4cbc0e650ccf1f52.jpeg', 'utc_offset': -18000, 'entities': {'description': {'urls': []}}, 'listed_count': 275, 'profile_background_color': '2424A6', 'verified': False, 'followers_count': 18189, 'url': None, 'friends_count': 9792, 'is_translation_enabled': False, 'location': 'Bronx, New York', 'created_at': 'Mon Apr 02 20:06:19 +0000 2012', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Mr. Weeks', 'statuses_count': 116958, 'profile_image_url': 'http://pbs.twimg.com/profile_images/785178833813172224/MvbySYWa_normal.jpg', 'profile_link_color': '3B94D9', 'following': False, 'id': 543780273, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 48022, 'screen_name': 'MrDane1982', 'is_translator': False, 'description': 'We need realistic policies, Smart power and someone willing to make Hard choices. We need LEADERS! @HillaryClinton Supporter Democrats2016 TeamObama', 'id_str': '543780273', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/543780273/1434828147', 'has_extended_profile': False, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'FFFFFF', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/785178833813172224/MvbySYWa_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/841556039/68604e71139f0c1b4cbc0e650ccf1f52.jpeg', 'profile_text_color': '333333', 'profile_background_tile': True}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/785178833813172224/MvbySYWa_normal.jpg', profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/841556039/68604e71139f0c1b4cbc0e650ccf1f52.jpeg', profile_background_tile=True, default_profile=False, geo_enabled=True, profile_background_image_url='http://pbs.twimg.com/profile_background_images/841556039/68604e71139f0c1b4cbc0e650ccf1f52.jpeg', time_zone='Eastern Time (US & Canada)', listed_count=275, following=False, friends_count=9792, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='Mr. Weeks', profile_image_url='http://pbs.twimg.com/profile_images/785178833813172224/MvbySYWa_normal.jpg', id=543780273, lang='en', description='We need realistic policies, Smart power and someone willing to make Hard choices. We need LEADERS! @HillaryClinton Supporter Democrats2016 TeamObama', id_str='543780273', has_extended_profile=False, screen_name='MrDane1982', profile_sidebar_border_color='FFFFFF')), in_reply_to_status_id=None, contributors=None, in_reply_to_screen_name=None, created_at=datetime.datetime(2016, 11, 15, 1, 20, 1), favorite_count=0, source_url='http://twitter.com/download/iphone', metadata={'iso_language_code': 'en', 'result_type': 'recent'}, source='Twitter for iPhone', in_reply_to_status_id_str=None, id=798334709143109634, in_reply_to_user_id=None, lang='en', in_reply_to_user_id_str=None, retweet_count=265, coordinates=None, retweeted=False, id_str='798334709143109634', quoted_status_id=798198333051375616, truncated=False, quoted_status_id_str='798198333051375616', favorited=False, _json={'geo': None, 'is_quote_status': True, 'user': {'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/871370963/531f3fe4016f0abd761346170ab1cb12.jpeg', 'utc_offset': 28800, 'entities': {'description': {'urls': []}}, 'listed_count': 19, 'profile_background_color': 'C0DEED', 'verified': False, 'followers_count': 227, 'url': None, 'friends_count': 766, 'is_translation_enabled': False, 'location': \"BUD | SIN | Swarthmore'18 | 北京\", 'created_at': 'Sun Feb 15 17:18:19 +0000 2009', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'István Cselőtei「趙義方」', 'statuses_count': 8215, 'profile_image_url': 'http://pbs.twimg.com/profile_images/378800000571850960/2e0e09018f7a3be7956d520976523cf1_normal.jpeg', 'profile_link_color': '0084B4', 'following': False, 'id': 20922072, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 915, 'screen_name': 'ic99', 'is_translator': False, 'description': 'Eastern influences, around the globe. Grew up in US East Coast, Eastern Europe, South East Asia currently based in Beijing. Avid traveller, informed citizen.', 'id_str': '20922072', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/20922072/1367141775', 'has_extended_profile': False, 'time_zone': 'Singapore', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'FFFFFF', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/378800000571850960/2e0e09018f7a3be7956d520976523cf1_normal.jpeg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/871370963/531f3fe4016f0abd761346170ab1cb12.jpeg', 'profile_text_color': '333333', 'profile_background_tile': False}, 'text': \"RT @MrDane1982: The same man who said Hillary Clinton can't be president if she wants to shield her emails from the American people is now…\", 'entities': {'hashtags': [], 'symbols': [], 'urls': [], 'user_mentions': [{'screen_name': 'MrDane1982', 'indices': [3, 14], 'id': 543780273, 'id_str': '543780273', 'name': 'Mr. Weeks'}]}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Tue Nov 15 01:20:01 +0000 2016', 'lang': 'en', 'source': 'Twitter for iPhone ', 'contributors': None, 'id': 798334709143109634, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 265, 'coordinates': None, 'retweeted': False, 'id_str': '798334709143109634', 'quoted_status_id_str': '798198333051375616', 'truncated': False, 'quoted_status_id': 798198333051375616, 'place': None, 'favorite_count': 0, 'retweeted_status': {'geo': None, 'is_quote_status': True, 'user': {'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/841556039/68604e71139f0c1b4cbc0e650ccf1f52.jpeg', 'utc_offset': -18000, 'entities': {'description': {'urls': []}}, 'listed_count': 275, 'profile_background_color': '2424A6', 'verified': False, 'followers_count': 18189, 'url': None, 'friends_count': 9792, 'is_translation_enabled': False, 'location': 'Bronx, New York', 'created_at': 'Mon Apr 02 20:06:19 +0000 2012', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Mr. Weeks', 'statuses_count': 116958, 'profile_image_url': 'http://pbs.twimg.com/profile_images/785178833813172224/MvbySYWa_normal.jpg', 'profile_link_color': '3B94D9', 'following': False, 'id': 543780273, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 48022, 'screen_name': 'MrDane1982', 'is_translator': False, 'description': 'We need realistic policies, Smart power and someone willing to make Hard choices. We need LEADERS! @HillaryClinton Supporter Democrats2016 TeamObama', 'id_str': '543780273', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/543780273/1434828147', 'has_extended_profile': False, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'FFFFFF', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/785178833813172224/MvbySYWa_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/841556039/68604e71139f0c1b4cbc0e650ccf1f52.jpeg', 'profile_text_color': '333333', 'profile_background_tile': True}, 'text': \"The same man who said Hillary Clinton can't be president if she wants to shield her emails from the American people… https://t.co/48KwCRQnwv\", 'entities': {'hashtags': [], 'symbols': [], 'urls': [{'url': 'https://t.co/48KwCRQnwv', 'indices': [117, 140], 'display_url': 'twitter.com/i/web/status/7…', 'expanded_url': 'https://twitter.com/i/web/status/798304217773416449'}], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Mon Nov 14 23:18:51 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'Twitter for Android ', 'contributors': None, 'id': 798304217773416449, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 265, 'coordinates': None, 'retweeted': False, 'id_str': '798304217773416449', 'quoted_status_id': 798198333051375616, 'quoted_status': {'geo': None, 'is_quote_status': False, 'user': {'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/796212188/bbdc5e3f7842b5b33f418ac5bc9685ee.jpeg', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'http://t.co/BE5JFAdb46', 'indices': [0, 22], 'display_url': 'politico.com', 'expanded_url': 'http://www.politico.com'}]}, 'description': {'urls': []}}, 'listed_count': 31739, 'profile_background_color': 'E6E6E6', 'verified': True, 'followers_count': 2184223, 'url': 'http://t.co/BE5JFAdb46', 'friends_count': 1233, 'is_translation_enabled': False, 'location': 'Washington, D.C.', 'created_at': 'Mon Oct 08 00:29:38 +0000 2007', 'default_profile_image': False, 'profile_use_background_image': False, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'POLITICO', 'statuses_count': 195942, 'profile_image_url': 'http://pbs.twimg.com/profile_images/677177503694237697/y6yTzWn6_normal.png', 'profile_link_color': 'DD2E44', 'following': False, 'id': 9300262, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 9, 'screen_name': 'politico', 'is_translator': False, 'description': 'Nobody knows politics like POLITICO.', 'id_str': '9300262', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/9300262/1447437792', 'has_extended_profile': False, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'regular', 'profile_sidebar_border_color': 'FFFFFF', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/677177503694237697/y6yTzWn6_normal.png', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/796212188/bbdc5e3f7842b5b33f418ac5bc9685ee.jpeg', 'profile_text_color': '333333', 'profile_background_tile': True}, 'text': 'Mike Pence is going to court to shield his emails from public scrutiny https://t.co/mQmdOWNW1a | AP Photo https://t.co/bLTAbBixuh', 'entities': {'hashtags': [], 'symbols': [], 'urls': [{'url': 'https://t.co/mQmdOWNW1a', 'indices': [71, 94], 'display_url': 'politi.co/2eTpdI1', 'expanded_url': 'http://politi.co/2eTpdI1'}], 'media': [{'url': 'https://t.co/bLTAbBixuh', 'media_url': 'http://pbs.twimg.com/media/CxPFJudW8AAegAj.jpg', 'id': 798198329855373312, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 369, 'w': 680}, 'large': {'resize': 'fit', 'h': 629, 'w': 1160}, 'medium': {'resize': 'fit', 'h': 629, 'w': 1160}}, 'media_url_https': 'https://pbs.twimg.com/media/CxPFJudW8AAegAj.jpg', 'indices': [106, 129], 'display_url': 'pic.twitter.com/bLTAbBixuh', 'type': 'photo', 'id_str': '798198329855373312', 'expanded_url': 'https://twitter.com/politico/status/798198333051375616/photo/1'}], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Mon Nov 14 16:18:07 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'SocialFlow ', 'contributors': None, 'extended_entities': {'media': [{'url': 'https://t.co/bLTAbBixuh', 'media_url': 'http://pbs.twimg.com/media/CxPFJudW8AAegAj.jpg', 'id': 798198329855373312, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 369, 'w': 680}, 'large': {'resize': 'fit', 'h': 629, 'w': 1160}, 'medium': {'resize': 'fit', 'h': 629, 'w': 1160}}, 'media_url_https': 'https://pbs.twimg.com/media/CxPFJudW8AAegAj.jpg', 'indices': [106, 129], 'display_url': 'pic.twitter.com/bLTAbBixuh', 'type': 'photo', 'id_str': '798198329855373312', 'expanded_url': 'https://twitter.com/politico/status/798198333051375616/photo/1'}]}, 'id': 798198333051375616, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 6551, 'coordinates': None, 'retweeted': False, 'id_str': '798198333051375616', 'truncated': False, 'place': None, 'favorite_count': 4348}, 'truncated': True, 'quoted_status_id_str': '798198333051375616', 'place': None, 'favorite_count': 204}}, _api=, place=None, author=User(verified=False, utc_offset=28800, entities={'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/20922072/1367141775', followers_count=227, url=None, is_translation_enabled=False, location=\"BUD | SIN | Swarthmore'18 | 北京\", created_at=datetime.datetime(2009, 2, 15, 17, 18, 19), default_profile_image=False, profile_use_background_image=True, statuses_count=8215, protected=False, favourites_count=915, profile_background_color='C0DEED', is_translator=False, profile_text_color='333333', profile_link_color='0084B4', _json={'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/871370963/531f3fe4016f0abd761346170ab1cb12.jpeg', 'utc_offset': 28800, 'entities': {'description': {'urls': []}}, 'listed_count': 19, 'profile_background_color': 'C0DEED', 'verified': False, 'followers_count': 227, 'url': None, 'friends_count': 766, 'is_translation_enabled': False, 'location': \"BUD | SIN | Swarthmore'18 | 北京\", 'created_at': 'Sun Feb 15 17:18:19 +0000 2009', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'István Cselőtei「趙義方」', 'statuses_count': 8215, 'profile_image_url': 'http://pbs.twimg.com/profile_images/378800000571850960/2e0e09018f7a3be7956d520976523cf1_normal.jpeg', 'profile_link_color': '0084B4', 'following': False, 'id': 20922072, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 915, 'screen_name': 'ic99', 'is_translator': False, 'description': 'Eastern influences, around the globe. Grew up in US East Coast, Eastern Europe, South East Asia currently based in Beijing. Avid traveller, informed citizen.', 'id_str': '20922072', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/20922072/1367141775', 'has_extended_profile': False, 'time_zone': 'Singapore', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'FFFFFF', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/378800000571850960/2e0e09018f7a3be7956d520976523cf1_normal.jpeg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/871370963/531f3fe4016f0abd761346170ab1cb12.jpeg', 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/378800000571850960/2e0e09018f7a3be7956d520976523cf1_normal.jpeg', profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/871370963/531f3fe4016f0abd761346170ab1cb12.jpeg', profile_background_tile=False, default_profile=False, geo_enabled=True, profile_background_image_url='http://pbs.twimg.com/profile_background_images/871370963/531f3fe4016f0abd761346170ab1cb12.jpeg', time_zone='Singapore', listed_count=19, following=False, friends_count=766, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='István Cselőtei「趙義方」', profile_image_url='http://pbs.twimg.com/profile_images/378800000571850960/2e0e09018f7a3be7956d520976523cf1_normal.jpeg', id=20922072, lang='en', description='Eastern influences, around the globe. Grew up in US East Coast, Eastern Europe, South East Asia currently based in Beijing. Avid traveller, informed citizen.', id_str='20922072', has_extended_profile=False, screen_name='ic99', profile_sidebar_border_color='FFFFFF')), Status(geo=None, is_quote_status=False, user=User(verified=False, utc_offset=-21600, entities={'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/3037995803/1454892995', followers_count=847, url=None, is_translation_enabled=False, location='Beebe ,Arkansas, USA', created_at=datetime.datetime(2015, 2, 15, 0, 28, 16), default_profile_image=False, profile_use_background_image=True, statuses_count=4043, protected=False, favourites_count=2086, profile_background_color='C0DEED', is_translator=False, profile_text_color='333333', profile_link_color='1DA1F2', _json={'default_profile': True, 'geo_enabled': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'utc_offset': -21600, 'entities': {'description': {'urls': []}}, 'listed_count': 9, 'profile_background_color': 'C0DEED', 'verified': False, 'followers_count': 847, 'url': None, 'friends_count': 1764, 'is_translation_enabled': False, 'location': 'Beebe ,Arkansas, USA', 'created_at': 'Sun Feb 15 00:28:16 +0000 2015', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Paul Selvidge', 'statuses_count': 4043, 'profile_image_url': 'http://pbs.twimg.com/profile_images/696497818517647361/udRgv18k_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 3037995803, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 2086, 'screen_name': 'milo4668', 'is_translator': False, 'description': 'married to Patsy Selvidge. father of2 sons & 1 daughter/ stepfather of 1 son & 1 daughter & grandfather of 3 grandsons & 3 granddaughters', 'id_str': '3037995803', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/3037995803/1454892995', 'has_extended_profile': True, 'time_zone': 'CST', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/696497818517647361/udRgv18k_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/696497818517647361/udRgv18k_normal.jpg', profile_background_image_url_https='https://abs.twimg.com/images/themes/theme1/bg.png', profile_background_tile=False, default_profile=True, geo_enabled=False, profile_background_image_url='http://abs.twimg.com/images/themes/theme1/bg.png', time_zone='CST', listed_count=9, following=False, friends_count=1764, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='Paul Selvidge', profile_image_url='http://pbs.twimg.com/profile_images/696497818517647361/udRgv18k_normal.jpg', id=3037995803, lang='en', description='married to Patsy Selvidge. father of2 sons & 1 daughter/ stepfather of 1 son & 1 daughter & grandfather of 3 grandsons & 3 granddaughters', id_str='3037995803', has_extended_profile=True, screen_name='milo4668', profile_sidebar_border_color='C0DEED'), text=\"RT @ChristieC733: Who would have guessed that Hillary's first 3AM call would have been to Donald Trump congratulating him on winning the Pr…\", entities={'hashtags': [], 'symbols': [], 'urls': [], 'user_mentions': [{'screen_name': 'ChristieC733', 'indices': [3, 16], 'id': 1618641848, 'id_str': '1618641848', 'name': 'Christie 🇺🇸'}]}, retweeted_status=Status(geo=None, is_quote_status=False, user=User(verified=False, utc_offset=-21600, entities={'url': {'urls': [{'url': 'https://t.co/rX57ApjvaH', 'indices': [0, 23], 'display_url': 'page.is/christie', 'expanded_url': 'http://page.is/christie'}]}, 'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/1618641848/1479086136', followers_count=175157, url='https://t.co/rX57ApjvaH', is_translation_enabled=False, location='Texas, USA', created_at=datetime.datetime(2013, 7, 24, 21, 14, 9), default_profile_image=False, profile_use_background_image=True, statuses_count=128583, protected=False, favourites_count=159016, profile_background_color='131516', is_translator=False, profile_text_color='333333', profile_link_color='94D487', _json={'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/539296714000048128/oLjIxVyp.jpeg', 'utc_offset': -21600, 'entities': {'url': {'urls': [{'url': 'https://t.co/rX57ApjvaH', 'indices': [0, 23], 'display_url': 'page.is/christie', 'expanded_url': 'http://page.is/christie'}]}, 'description': {'urls': []}}, 'listed_count': 1089, 'profile_background_color': '131516', 'verified': False, 'followers_count': 175157, 'url': 'https://t.co/rX57ApjvaH', 'friends_count': 152755, 'is_translation_enabled': False, 'location': 'Texas, USA', 'created_at': 'Wed Jul 24 21:14:09 +0000 2013', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Christie 🇺🇸', 'statuses_count': 128583, 'profile_image_url': 'http://pbs.twimg.com/profile_images/797967352767901697/-Pq6G8n1_normal.jpg', 'profile_link_color': '94D487', 'following': False, 'id': 1618641848, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 159016, 'screen_name': 'ChristieC733', 'is_translator': False, 'description': 'Those who expect to reap the benefits of freedom, must, like men, undergo the fatigue of supporting it. T. Paine Politics 24/7 #TrumpNation #Dogs #BusinessOwner', 'id_str': '1618641848', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/1618641848/1479086136', 'has_extended_profile': False, 'time_zone': 'Central Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'FFFFFF', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/797967352767901697/-Pq6G8n1_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/539296714000048128/oLjIxVyp.jpeg', 'profile_text_color': '333333', 'profile_background_tile': True}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/797967352767901697/-Pq6G8n1_normal.jpg', profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/539296714000048128/oLjIxVyp.jpeg', profile_background_tile=True, default_profile=False, geo_enabled=True, profile_background_image_url='http://pbs.twimg.com/profile_background_images/539296714000048128/oLjIxVyp.jpeg', time_zone='Central Time (US & Canada)', listed_count=1089, following=False, friends_count=152755, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='Christie 🇺🇸', profile_image_url='http://pbs.twimg.com/profile_images/797967352767901697/-Pq6G8n1_normal.jpg', id=1618641848, lang='en', description='Those who expect to reap the benefits of freedom, must, like men, undergo the fatigue of supporting it. T. Paine Politics 24/7 #TrumpNation #Dogs #BusinessOwner', id_str='1618641848', has_extended_profile=False, screen_name='ChristieC733', profile_sidebar_border_color='FFFFFF'), text=\"Who would have guessed that Hillary's first 3AM call would have been to Donald Trump congratulating him on winning the Presidency? 😆\", entities={'hashtags': [], 'symbols': [], 'urls': [], 'user_mentions': []}, in_reply_to_status_id=None, contributors=None, in_reply_to_screen_name=None, created_at=datetime.datetime(2016, 11, 14, 3, 33, 25), favorite_count=1697, source_url='http://twitter.com/download/iphone', metadata={'iso_language_code': 'en', 'result_type': 'recent'}, source='Twitter for iPhone', in_reply_to_status_id_str=None, id=798005892905975808, in_reply_to_user_id=None, lang='en', in_reply_to_user_id_str=None, retweet_count=1062, coordinates=None, retweeted=False, id_str='798005892905975808', truncated=False, favorited=False, _json={'geo': None, 'is_quote_status': False, 'user': {'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/539296714000048128/oLjIxVyp.jpeg', 'utc_offset': -21600, 'entities': {'url': {'urls': [{'url': 'https://t.co/rX57ApjvaH', 'indices': [0, 23], 'display_url': 'page.is/christie', 'expanded_url': 'http://page.is/christie'}]}, 'description': {'urls': []}}, 'listed_count': 1089, 'profile_background_color': '131516', 'verified': False, 'followers_count': 175157, 'url': 'https://t.co/rX57ApjvaH', 'friends_count': 152755, 'is_translation_enabled': False, 'location': 'Texas, USA', 'created_at': 'Wed Jul 24 21:14:09 +0000 2013', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Christie 🇺🇸', 'statuses_count': 128583, 'profile_image_url': 'http://pbs.twimg.com/profile_images/797967352767901697/-Pq6G8n1_normal.jpg', 'profile_link_color': '94D487', 'following': False, 'id': 1618641848, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 159016, 'screen_name': 'ChristieC733', 'is_translator': False, 'description': 'Those who expect to reap the benefits of freedom, must, like men, undergo the fatigue of supporting it. T. Paine Politics 24/7 #TrumpNation #Dogs #BusinessOwner', 'id_str': '1618641848', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/1618641848/1479086136', 'has_extended_profile': False, 'time_zone': 'Central Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'FFFFFF', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/797967352767901697/-Pq6G8n1_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/539296714000048128/oLjIxVyp.jpeg', 'profile_text_color': '333333', 'profile_background_tile': True}, 'text': \"Who would have guessed that Hillary's first 3AM call would have been to Donald Trump congratulating him on winning the Presidency? 😆\", 'entities': {'hashtags': [], 'symbols': [], 'urls': [], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Mon Nov 14 03:33:25 +0000 2016', 'lang': 'en', 'source': 'Twitter for iPhone ', 'contributors': None, 'id': 798005892905975808, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 1062, 'coordinates': None, 'retweeted': False, 'id_str': '798005892905975808', 'truncated': False, 'place': None, 'favorite_count': 1697}, _api=, place=None, author=User(verified=False, utc_offset=-21600, entities={'url': {'urls': [{'url': 'https://t.co/rX57ApjvaH', 'indices': [0, 23], 'display_url': 'page.is/christie', 'expanded_url': 'http://page.is/christie'}]}, 'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/1618641848/1479086136', followers_count=175157, url='https://t.co/rX57ApjvaH', is_translation_enabled=False, location='Texas, USA', created_at=datetime.datetime(2013, 7, 24, 21, 14, 9), default_profile_image=False, profile_use_background_image=True, statuses_count=128583, protected=False, favourites_count=159016, profile_background_color='131516', is_translator=False, profile_text_color='333333', profile_link_color='94D487', _json={'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/539296714000048128/oLjIxVyp.jpeg', 'utc_offset': -21600, 'entities': {'url': {'urls': [{'url': 'https://t.co/rX57ApjvaH', 'indices': [0, 23], 'display_url': 'page.is/christie', 'expanded_url': 'http://page.is/christie'}]}, 'description': {'urls': []}}, 'listed_count': 1089, 'profile_background_color': '131516', 'verified': False, 'followers_count': 175157, 'url': 'https://t.co/rX57ApjvaH', 'friends_count': 152755, 'is_translation_enabled': False, 'location': 'Texas, USA', 'created_at': 'Wed Jul 24 21:14:09 +0000 2013', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Christie 🇺🇸', 'statuses_count': 128583, 'profile_image_url': 'http://pbs.twimg.com/profile_images/797967352767901697/-Pq6G8n1_normal.jpg', 'profile_link_color': '94D487', 'following': False, 'id': 1618641848, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 159016, 'screen_name': 'ChristieC733', 'is_translator': False, 'description': 'Those who expect to reap the benefits of freedom, must, like men, undergo the fatigue of supporting it. T. Paine Politics 24/7 #TrumpNation #Dogs #BusinessOwner', 'id_str': '1618641848', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/1618641848/1479086136', 'has_extended_profile': False, 'time_zone': 'Central Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'FFFFFF', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/797967352767901697/-Pq6G8n1_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/539296714000048128/oLjIxVyp.jpeg', 'profile_text_color': '333333', 'profile_background_tile': True}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/797967352767901697/-Pq6G8n1_normal.jpg', profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/539296714000048128/oLjIxVyp.jpeg', profile_background_tile=True, default_profile=False, geo_enabled=True, profile_background_image_url='http://pbs.twimg.com/profile_background_images/539296714000048128/oLjIxVyp.jpeg', time_zone='Central Time (US & Canada)', listed_count=1089, following=False, friends_count=152755, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='Christie 🇺🇸', profile_image_url='http://pbs.twimg.com/profile_images/797967352767901697/-Pq6G8n1_normal.jpg', id=1618641848, lang='en', description='Those who expect to reap the benefits of freedom, must, like men, undergo the fatigue of supporting it. T. Paine Politics 24/7 #TrumpNation #Dogs #BusinessOwner', id_str='1618641848', has_extended_profile=False, screen_name='ChristieC733', profile_sidebar_border_color='FFFFFF')), in_reply_to_status_id=None, contributors=None, in_reply_to_screen_name=None, created_at=datetime.datetime(2016, 11, 15, 1, 20, 1), favorite_count=0, source_url='http://twitter.com/download/iphone', metadata={'iso_language_code': 'en', 'result_type': 'recent'}, source='Twitter for iPhone', in_reply_to_status_id_str=None, id=798334708987953152, in_reply_to_user_id=None, lang='en', in_reply_to_user_id_str=None, retweet_count=1062, coordinates=None, retweeted=False, id_str='798334708987953152', truncated=False, favorited=False, _json={'geo': None, 'is_quote_status': False, 'user': {'default_profile': True, 'geo_enabled': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'utc_offset': -21600, 'entities': {'description': {'urls': []}}, 'listed_count': 9, 'profile_background_color': 'C0DEED', 'verified': False, 'followers_count': 847, 'url': None, 'friends_count': 1764, 'is_translation_enabled': False, 'location': 'Beebe ,Arkansas, USA', 'created_at': 'Sun Feb 15 00:28:16 +0000 2015', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Paul Selvidge', 'statuses_count': 4043, 'profile_image_url': 'http://pbs.twimg.com/profile_images/696497818517647361/udRgv18k_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 3037995803, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 2086, 'screen_name': 'milo4668', 'is_translator': False, 'description': 'married to Patsy Selvidge. father of2 sons & 1 daughter/ stepfather of 1 son & 1 daughter & grandfather of 3 grandsons & 3 granddaughters', 'id_str': '3037995803', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/3037995803/1454892995', 'has_extended_profile': True, 'time_zone': 'CST', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/696497818517647361/udRgv18k_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_text_color': '333333', 'profile_background_tile': False}, 'text': \"RT @ChristieC733: Who would have guessed that Hillary's first 3AM call would have been to Donald Trump congratulating him on winning the Pr…\", 'entities': {'hashtags': [], 'symbols': [], 'urls': [], 'user_mentions': [{'screen_name': 'ChristieC733', 'indices': [3, 16], 'id': 1618641848, 'id_str': '1618641848', 'name': 'Christie 🇺🇸'}]}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Tue Nov 15 01:20:01 +0000 2016', 'lang': 'en', 'source': 'Twitter for iPhone ', 'contributors': None, 'id': 798334708987953152, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 1062, 'coordinates': None, 'retweeted': False, 'id_str': '798334708987953152', 'truncated': False, 'place': None, 'favorite_count': 0, 'retweeted_status': {'geo': None, 'is_quote_status': False, 'user': {'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/539296714000048128/oLjIxVyp.jpeg', 'utc_offset': -21600, 'entities': {'url': {'urls': [{'url': 'https://t.co/rX57ApjvaH', 'indices': [0, 23], 'display_url': 'page.is/christie', 'expanded_url': 'http://page.is/christie'}]}, 'description': {'urls': []}}, 'listed_count': 1089, 'profile_background_color': '131516', 'verified': False, 'followers_count': 175157, 'url': 'https://t.co/rX57ApjvaH', 'friends_count': 152755, 'is_translation_enabled': False, 'location': 'Texas, USA', 'created_at': 'Wed Jul 24 21:14:09 +0000 2013', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Christie 🇺🇸', 'statuses_count': 128583, 'profile_image_url': 'http://pbs.twimg.com/profile_images/797967352767901697/-Pq6G8n1_normal.jpg', 'profile_link_color': '94D487', 'following': False, 'id': 1618641848, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 159016, 'screen_name': 'ChristieC733', 'is_translator': False, 'description': 'Those who expect to reap the benefits of freedom, must, like men, undergo the fatigue of supporting it. T. Paine Politics 24/7 #TrumpNation #Dogs #BusinessOwner', 'id_str': '1618641848', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/1618641848/1479086136', 'has_extended_profile': False, 'time_zone': 'Central Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'FFFFFF', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/797967352767901697/-Pq6G8n1_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/539296714000048128/oLjIxVyp.jpeg', 'profile_text_color': '333333', 'profile_background_tile': True}, 'text': \"Who would have guessed that Hillary's first 3AM call would have been to Donald Trump congratulating him on winning the Presidency? 😆\", 'entities': {'hashtags': [], 'symbols': [], 'urls': [], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Mon Nov 14 03:33:25 +0000 2016', 'lang': 'en', 'source': 'Twitter for iPhone ', 'contributors': None, 'id': 798005892905975808, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 1062, 'coordinates': None, 'retweeted': False, 'id_str': '798005892905975808', 'truncated': False, 'place': None, 'favorite_count': 1697}}, _api=, place=None, author=User(verified=False, utc_offset=-21600, entities={'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/3037995803/1454892995', followers_count=847, url=None, is_translation_enabled=False, location='Beebe ,Arkansas, USA', created_at=datetime.datetime(2015, 2, 15, 0, 28, 16), default_profile_image=False, profile_use_background_image=True, statuses_count=4043, protected=False, favourites_count=2086, profile_background_color='C0DEED', is_translator=False, profile_text_color='333333', profile_link_color='1DA1F2', _json={'default_profile': True, 'geo_enabled': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'utc_offset': -21600, 'entities': {'description': {'urls': []}}, 'listed_count': 9, 'profile_background_color': 'C0DEED', 'verified': False, 'followers_count': 847, 'url': None, 'friends_count': 1764, 'is_translation_enabled': False, 'location': 'Beebe ,Arkansas, USA', 'created_at': 'Sun Feb 15 00:28:16 +0000 2015', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Paul Selvidge', 'statuses_count': 4043, 'profile_image_url': 'http://pbs.twimg.com/profile_images/696497818517647361/udRgv18k_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 3037995803, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 2086, 'screen_name': 'milo4668', 'is_translator': False, 'description': 'married to Patsy Selvidge. father of2 sons & 1 daughter/ stepfather of 1 son & 1 daughter & grandfather of 3 grandsons & 3 granddaughters', 'id_str': '3037995803', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/3037995803/1454892995', 'has_extended_profile': True, 'time_zone': 'CST', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/696497818517647361/udRgv18k_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/696497818517647361/udRgv18k_normal.jpg', profile_background_image_url_https='https://abs.twimg.com/images/themes/theme1/bg.png', profile_background_tile=False, default_profile=True, geo_enabled=False, profile_background_image_url='http://abs.twimg.com/images/themes/theme1/bg.png', time_zone='CST', listed_count=9, following=False, friends_count=1764, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='Paul Selvidge', profile_image_url='http://pbs.twimg.com/profile_images/696497818517647361/udRgv18k_normal.jpg', id=3037995803, lang='en', description='married to Patsy Selvidge. father of2 sons & 1 daughter/ stepfather of 1 son & 1 daughter & grandfather of 3 grandsons & 3 granddaughters', id_str='3037995803', has_extended_profile=True, screen_name='milo4668', profile_sidebar_border_color='C0DEED')), Status(geo=None, is_quote_status=False, user=User(verified=False, utc_offset=None, entities={'description': {'urls': []}}, followers_count=17, url=None, is_translation_enabled=False, location='', created_at=datetime.datetime(2016, 9, 27, 0, 53, 2), default_profile_image=False, profile_use_background_image=True, statuses_count=586, protected=False, favourites_count=354, profile_background_color='F5F8FA', is_translator=False, profile_text_color='333333', profile_link_color='1DA1F2', _json={'default_profile': True, 'geo_enabled': False, 'profile_background_image_url': None, 'utc_offset': None, 'entities': {'description': {'urls': []}}, 'listed_count': 0, 'profile_background_color': 'F5F8FA', 'verified': False, 'followers_count': 17, 'url': None, 'friends_count': 458, 'is_translation_enabled': False, 'location': '', 'created_at': 'Tue Sep 27 00:53:02 +0000 2016', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Scoobyrooroo', 'statuses_count': 586, 'profile_image_url': 'http://pbs.twimg.com/profile_images/780637731625897984/mZ4oXpp2_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 780570911950766080, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 354, 'screen_name': 'scoobyrooroo', 'is_translator': False, 'description': '', 'id_str': '780570911950766080', 'has_extended_profile': False, 'time_zone': None, 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/780637731625897984/mZ4oXpp2_normal.jpg', 'profile_background_image_url_https': None, 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/780637731625897984/mZ4oXpp2_normal.jpg', profile_background_image_url_https=None, profile_background_tile=False, default_profile=True, geo_enabled=False, profile_background_image_url=None, time_zone=None, listed_count=0, following=False, friends_count=458, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='Scoobyrooroo', profile_image_url='http://pbs.twimg.com/profile_images/780637731625897984/mZ4oXpp2_normal.jpg', id=780570911950766080, lang='en', description='', id_str='780570911950766080', has_extended_profile=False, screen_name='scoobyrooroo', profile_sidebar_border_color='C0DEED'), text='RT @Newsweek: The presidential election was a referendum on gender, and women lost. https://t.co/IVc66jOb1k', entities={'hashtags': [], 'symbols': [], 'urls': [{'url': 'https://t.co/IVc66jOb1k', 'indices': [84, 107], 'display_url': 'bit.ly/2g7mSPm', 'expanded_url': 'http://bit.ly/2g7mSPm'}], 'user_mentions': [{'screen_name': 'Newsweek', 'indices': [3, 12], 'id': 2884771, 'id_str': '2884771', 'name': 'Newsweek'}]}, possibly_sensitive=False, retweeted_status=Status(geo=None, is_quote_status=False, user=User(verified=True, utc_offset=-18000, entities={'url': {'urls': [{'url': 'https://t.co/92gD7evE72', 'indices': [0, 23], 'display_url': 'newsweek.com', 'expanded_url': 'http://www.newsweek.com'}]}, 'description': {'urls': []}}, followers_count=3086905, url='https://t.co/92gD7evE72', is_translation_enabled=False, location='New York, NY', created_at=datetime.datetime(2007, 3, 29, 19, 51, 11), default_profile_image=False, profile_use_background_image=False, statuses_count=82966, protected=False, favourites_count=2784, profile_background_color='EE2A26', is_translator=False, profile_text_color='000000', profile_link_color='990000', _json={'default_profile': False, 'geo_enabled': False, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/251616259/20110510_twitter.gif', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'https://t.co/92gD7evE72', 'indices': [0, 23], 'display_url': 'newsweek.com', 'expanded_url': 'http://www.newsweek.com'}]}, 'description': {'urls': []}}, 'listed_count': 36397, 'profile_background_color': 'EE2A26', 'verified': True, 'followers_count': 3086905, 'url': 'https://t.co/92gD7evE72', 'friends_count': 56, 'is_translation_enabled': False, 'location': 'New York, NY', 'created_at': 'Thu Mar 29 19:51:11 +0000 2007', 'default_profile_image': False, 'profile_use_background_image': False, 'profile_sidebar_fill_color': 'F2F2F2', 'name': 'Newsweek', 'statuses_count': 82966, 'profile_image_url': 'http://pbs.twimg.com/profile_images/741603495929905152/di0NxkFa_normal.jpg', 'profile_link_color': '990000', 'following': False, 'id': 2884771, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 2784, 'screen_name': 'Newsweek', 'is_translator': False, 'description': 'Stay relevant. News and analysis on politics, science, technology, and culture.', 'id_str': '2884771', 'has_extended_profile': False, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'FFFFFF', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/741603495929905152/di0NxkFa_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/251616259/20110510_twitter.gif', 'profile_text_color': '000000', 'profile_background_tile': True}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/741603495929905152/di0NxkFa_normal.jpg', profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/251616259/20110510_twitter.gif', profile_background_tile=True, default_profile=False, geo_enabled=False, profile_background_image_url='http://pbs.twimg.com/profile_background_images/251616259/20110510_twitter.gif', time_zone='Eastern Time (US & Canada)', listed_count=36397, following=False, friends_count=56, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='F2F2F2', name='Newsweek', profile_image_url='http://pbs.twimg.com/profile_images/741603495929905152/di0NxkFa_normal.jpg', id=2884771, lang='en', description='Stay relevant. News and analysis on politics, science, technology, and culture.', id_str='2884771', has_extended_profile=False, screen_name='Newsweek', profile_sidebar_border_color='FFFFFF'), text='The presidential election was a referendum on gender, and women lost. https://t.co/IVc66jOb1k', entities={'hashtags': [], 'symbols': [], 'urls': [{'url': 'https://t.co/IVc66jOb1k', 'indices': [70, 93], 'display_url': 'bit.ly/2g7mSPm', 'expanded_url': 'http://bit.ly/2g7mSPm'}], 'user_mentions': []}, possibly_sensitive=False, in_reply_to_status_id=None, contributors=None, in_reply_to_screen_name=None, created_at=datetime.datetime(2016, 11, 14, 14, 18, 49), favorite_count=268, source_url='http://sproutsocial.com', metadata={'iso_language_code': 'en', 'result_type': 'recent'}, source='Sprout Social', in_reply_to_status_id_str=None, id=798168310017912833, in_reply_to_user_id=None, lang='en', in_reply_to_user_id_str=None, retweet_count=238, coordinates=None, retweeted=False, id_str='798168310017912833', truncated=False, favorited=False, _json={'geo': None, 'is_quote_status': False, 'user': {'default_profile': False, 'geo_enabled': False, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/251616259/20110510_twitter.gif', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'https://t.co/92gD7evE72', 'indices': [0, 23], 'display_url': 'newsweek.com', 'expanded_url': 'http://www.newsweek.com'}]}, 'description': {'urls': []}}, 'listed_count': 36397, 'profile_background_color': 'EE2A26', 'verified': True, 'followers_count': 3086905, 'url': 'https://t.co/92gD7evE72', 'friends_count': 56, 'is_translation_enabled': False, 'location': 'New York, NY', 'created_at': 'Thu Mar 29 19:51:11 +0000 2007', 'default_profile_image': False, 'profile_use_background_image': False, 'profile_sidebar_fill_color': 'F2F2F2', 'name': 'Newsweek', 'statuses_count': 82966, 'profile_image_url': 'http://pbs.twimg.com/profile_images/741603495929905152/di0NxkFa_normal.jpg', 'profile_link_color': '990000', 'following': False, 'id': 2884771, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 2784, 'screen_name': 'Newsweek', 'is_translator': False, 'description': 'Stay relevant. News and analysis on politics, science, technology, and culture.', 'id_str': '2884771', 'has_extended_profile': False, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'FFFFFF', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/741603495929905152/di0NxkFa_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/251616259/20110510_twitter.gif', 'profile_text_color': '000000', 'profile_background_tile': True}, 'text': 'The presidential election was a referendum on gender, and women lost. https://t.co/IVc66jOb1k', 'entities': {'hashtags': [], 'symbols': [], 'urls': [{'url': 'https://t.co/IVc66jOb1k', 'indices': [70, 93], 'display_url': 'bit.ly/2g7mSPm', 'expanded_url': 'http://bit.ly/2g7mSPm'}], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Mon Nov 14 14:18:49 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'Sprout Social ', 'contributors': None, 'id': 798168310017912833, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 238, 'coordinates': None, 'retweeted': False, 'id_str': '798168310017912833', 'truncated': False, 'place': None, 'favorite_count': 268}, _api=, place=None, author=User(verified=True, utc_offset=-18000, entities={'url': {'urls': [{'url': 'https://t.co/92gD7evE72', 'indices': [0, 23], 'display_url': 'newsweek.com', 'expanded_url': 'http://www.newsweek.com'}]}, 'description': {'urls': []}}, followers_count=3086905, url='https://t.co/92gD7evE72', is_translation_enabled=False, location='New York, NY', created_at=datetime.datetime(2007, 3, 29, 19, 51, 11), default_profile_image=False, profile_use_background_image=False, statuses_count=82966, protected=False, favourites_count=2784, profile_background_color='EE2A26', is_translator=False, profile_text_color='000000', profile_link_color='990000', _json={'default_profile': False, 'geo_enabled': False, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/251616259/20110510_twitter.gif', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'https://t.co/92gD7evE72', 'indices': [0, 23], 'display_url': 'newsweek.com', 'expanded_url': 'http://www.newsweek.com'}]}, 'description': {'urls': []}}, 'listed_count': 36397, 'profile_background_color': 'EE2A26', 'verified': True, 'followers_count': 3086905, 'url': 'https://t.co/92gD7evE72', 'friends_count': 56, 'is_translation_enabled': False, 'location': 'New York, NY', 'created_at': 'Thu Mar 29 19:51:11 +0000 2007', 'default_profile_image': False, 'profile_use_background_image': False, 'profile_sidebar_fill_color': 'F2F2F2', 'name': 'Newsweek', 'statuses_count': 82966, 'profile_image_url': 'http://pbs.twimg.com/profile_images/741603495929905152/di0NxkFa_normal.jpg', 'profile_link_color': '990000', 'following': False, 'id': 2884771, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 2784, 'screen_name': 'Newsweek', 'is_translator': False, 'description': 'Stay relevant. News and analysis on politics, science, technology, and culture.', 'id_str': '2884771', 'has_extended_profile': False, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'FFFFFF', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/741603495929905152/di0NxkFa_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/251616259/20110510_twitter.gif', 'profile_text_color': '000000', 'profile_background_tile': True}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/741603495929905152/di0NxkFa_normal.jpg', profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/251616259/20110510_twitter.gif', profile_background_tile=True, default_profile=False, geo_enabled=False, profile_background_image_url='http://pbs.twimg.com/profile_background_images/251616259/20110510_twitter.gif', time_zone='Eastern Time (US & Canada)', listed_count=36397, following=False, friends_count=56, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='F2F2F2', name='Newsweek', profile_image_url='http://pbs.twimg.com/profile_images/741603495929905152/di0NxkFa_normal.jpg', id=2884771, lang='en', description='Stay relevant. News and analysis on politics, science, technology, and culture.', id_str='2884771', has_extended_profile=False, screen_name='Newsweek', profile_sidebar_border_color='FFFFFF')), in_reply_to_status_id=None, contributors=None, in_reply_to_screen_name=None, created_at=datetime.datetime(2016, 11, 15, 1, 20, 1), favorite_count=0, source_url='http://twitter.com/download/iphone', metadata={'iso_language_code': 'en', 'result_type': 'recent'}, source='Twitter for iPhone', in_reply_to_status_id_str=None, id=798334708387954688, in_reply_to_user_id=None, lang='en', in_reply_to_user_id_str=None, retweet_count=238, coordinates=None, retweeted=False, id_str='798334708387954688', truncated=False, favorited=False, _json={'geo': None, 'is_quote_status': False, 'user': {'default_profile': True, 'geo_enabled': False, 'profile_background_image_url': None, 'utc_offset': None, 'entities': {'description': {'urls': []}}, 'listed_count': 0, 'profile_background_color': 'F5F8FA', 'verified': False, 'followers_count': 17, 'url': None, 'friends_count': 458, 'is_translation_enabled': False, 'location': '', 'created_at': 'Tue Sep 27 00:53:02 +0000 2016', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Scoobyrooroo', 'statuses_count': 586, 'profile_image_url': 'http://pbs.twimg.com/profile_images/780637731625897984/mZ4oXpp2_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 780570911950766080, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 354, 'screen_name': 'scoobyrooroo', 'is_translator': False, 'description': '', 'id_str': '780570911950766080', 'has_extended_profile': False, 'time_zone': None, 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/780637731625897984/mZ4oXpp2_normal.jpg', 'profile_background_image_url_https': None, 'profile_text_color': '333333', 'profile_background_tile': False}, 'text': 'RT @Newsweek: The presidential election was a referendum on gender, and women lost. https://t.co/IVc66jOb1k', 'entities': {'hashtags': [], 'symbols': [], 'urls': [{'url': 'https://t.co/IVc66jOb1k', 'indices': [84, 107], 'display_url': 'bit.ly/2g7mSPm', 'expanded_url': 'http://bit.ly/2g7mSPm'}], 'user_mentions': [{'screen_name': 'Newsweek', 'indices': [3, 12], 'id': 2884771, 'id_str': '2884771', 'name': 'Newsweek'}]}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Tue Nov 15 01:20:01 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'Twitter for iPhone ', 'contributors': None, 'id': 798334708387954688, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 238, 'coordinates': None, 'retweeted': False, 'id_str': '798334708387954688', 'truncated': False, 'place': None, 'favorite_count': 0, 'retweeted_status': {'geo': None, 'is_quote_status': False, 'user': {'default_profile': False, 'geo_enabled': False, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/251616259/20110510_twitter.gif', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'https://t.co/92gD7evE72', 'indices': [0, 23], 'display_url': 'newsweek.com', 'expanded_url': 'http://www.newsweek.com'}]}, 'description': {'urls': []}}, 'listed_count': 36397, 'profile_background_color': 'EE2A26', 'verified': True, 'followers_count': 3086905, 'url': 'https://t.co/92gD7evE72', 'friends_count': 56, 'is_translation_enabled': False, 'location': 'New York, NY', 'created_at': 'Thu Mar 29 19:51:11 +0000 2007', 'default_profile_image': False, 'profile_use_background_image': False, 'profile_sidebar_fill_color': 'F2F2F2', 'name': 'Newsweek', 'statuses_count': 82966, 'profile_image_url': 'http://pbs.twimg.com/profile_images/741603495929905152/di0NxkFa_normal.jpg', 'profile_link_color': '990000', 'following': False, 'id': 2884771, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 2784, 'screen_name': 'Newsweek', 'is_translator': False, 'description': 'Stay relevant. News and analysis on politics, science, technology, and culture.', 'id_str': '2884771', 'has_extended_profile': False, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'FFFFFF', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/741603495929905152/di0NxkFa_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/251616259/20110510_twitter.gif', 'profile_text_color': '000000', 'profile_background_tile': True}, 'text': 'The presidential election was a referendum on gender, and women lost. https://t.co/IVc66jOb1k', 'entities': {'hashtags': [], 'symbols': [], 'urls': [{'url': 'https://t.co/IVc66jOb1k', 'indices': [70, 93], 'display_url': 'bit.ly/2g7mSPm', 'expanded_url': 'http://bit.ly/2g7mSPm'}], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Mon Nov 14 14:18:49 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'Sprout Social ', 'contributors': None, 'id': 798168310017912833, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 238, 'coordinates': None, 'retweeted': False, 'id_str': '798168310017912833', 'truncated': False, 'place': None, 'favorite_count': 268}}, _api=, place=None, author=User(verified=False, utc_offset=None, entities={'description': {'urls': []}}, followers_count=17, url=None, is_translation_enabled=False, location='', created_at=datetime.datetime(2016, 9, 27, 0, 53, 2), default_profile_image=False, profile_use_background_image=True, statuses_count=586, protected=False, favourites_count=354, profile_background_color='F5F8FA', is_translator=False, profile_text_color='333333', profile_link_color='1DA1F2', _json={'default_profile': True, 'geo_enabled': False, 'profile_background_image_url': None, 'utc_offset': None, 'entities': {'description': {'urls': []}}, 'listed_count': 0, 'profile_background_color': 'F5F8FA', 'verified': False, 'followers_count': 17, 'url': None, 'friends_count': 458, 'is_translation_enabled': False, 'location': '', 'created_at': 'Tue Sep 27 00:53:02 +0000 2016', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Scoobyrooroo', 'statuses_count': 586, 'profile_image_url': 'http://pbs.twimg.com/profile_images/780637731625897984/mZ4oXpp2_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 780570911950766080, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 354, 'screen_name': 'scoobyrooroo', 'is_translator': False, 'description': '', 'id_str': '780570911950766080', 'has_extended_profile': False, 'time_zone': None, 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/780637731625897984/mZ4oXpp2_normal.jpg', 'profile_background_image_url_https': None, 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/780637731625897984/mZ4oXpp2_normal.jpg', profile_background_image_url_https=None, profile_background_tile=False, default_profile=True, geo_enabled=False, profile_background_image_url=None, time_zone=None, listed_count=0, following=False, friends_count=458, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='Scoobyrooroo', profile_image_url='http://pbs.twimg.com/profile_images/780637731625897984/mZ4oXpp2_normal.jpg', id=780570911950766080, lang='en', description='', id_str='780570911950766080', has_extended_profile=False, screen_name='scoobyrooroo', profile_sidebar_border_color='C0DEED')), Status(geo=None, is_quote_status=False, user=User(verified=False, utc_offset=None, entities={'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/769480195/1363487883', followers_count=2277, url=None, is_translation_enabled=False, location='JoCo NC', created_at=datetime.datetime(2012, 8, 20, 12, 57, 10), default_profile_image=False, profile_use_background_image=True, statuses_count=20115, protected=False, favourites_count=10711, profile_background_color='C0DEED', is_translator=False, profile_text_color='333333', profile_link_color='1DA1F2', _json={'default_profile': True, 'geo_enabled': True, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'utc_offset': None, 'entities': {'description': {'urls': []}}, 'listed_count': 69, 'profile_background_color': 'C0DEED', 'verified': False, 'followers_count': 2277, 'url': None, 'friends_count': 2403, 'is_translation_enabled': False, 'location': 'JoCo NC', 'created_at': 'Mon Aug 20 12:57:10 +0000 2012', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Kathy💔White', 'statuses_count': 20115, 'profile_image_url': 'http://pbs.twimg.com/profile_images/710178436392726528/RkK_DepC_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 769480195, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 10711, 'screen_name': 'katbeewhite', 'is_translator': False, 'description': 'Tarheel born, Tarheel bred, wife, mom, grandmother. Love politics, running, my rescue dogs & backyard chickens #ExpandMedicaidNC #MoralMonday #PeaceRocks', 'id_str': '769480195', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/769480195/1363487883', 'has_extended_profile': False, 'time_zone': None, 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/710178436392726528/RkK_DepC_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/710178436392726528/RkK_DepC_normal.jpg', profile_background_image_url_https='https://abs.twimg.com/images/themes/theme1/bg.png', profile_background_tile=False, default_profile=True, geo_enabled=True, profile_background_image_url='http://abs.twimg.com/images/themes/theme1/bg.png', time_zone=None, listed_count=69, following=False, friends_count=2403, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='Kathy💔White', profile_image_url='http://pbs.twimg.com/profile_images/710178436392726528/RkK_DepC_normal.jpg', id=769480195, lang='en', description='Tarheel born, Tarheel bred, wife, mom, grandmother. Love politics, running, my rescue dogs & backyard chickens #ExpandMedicaidNC #MoralMonday #PeaceRocks', id_str='769480195', has_extended_profile=False, screen_name='katbeewhite', profile_sidebar_border_color='C0DEED'), text='RT @SpryGuy: FUN FACT: Hillary Clinton won more votes than any white man who ever ran for President.', entities={'hashtags': [], 'symbols': [], 'urls': [], 'user_mentions': [{'screen_name': 'SpryGuy', 'indices': [3, 11], 'id': 228015335, 'id_str': '228015335', 'name': 'Spry Guy'}]}, retweeted_status=Status(geo=None, is_quote_status=False, user=User(verified=False, utc_offset=-21600, entities={'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/228015335/1403152339', followers_count=6712, url=None, is_translation_enabled=False, location='Austin', created_at=datetime.datetime(2010, 12, 18, 13, 33, 42), default_profile_image=False, profile_use_background_image=True, statuses_count=171812, protected=False, favourites_count=801, profile_background_color='B2DFDA', is_translator=False, profile_text_color='333333', profile_link_color='93A644', _json={'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme13/bg.gif', 'utc_offset': -21600, 'entities': {'description': {'urls': []}}, 'listed_count': 214, 'profile_background_color': 'B2DFDA', 'verified': False, 'followers_count': 6712, 'url': None, 'friends_count': 3893, 'is_translation_enabled': False, 'location': 'Austin', 'created_at': 'Sat Dec 18 13:33:42 +0000 2010', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'FFFFFF', 'name': 'Spry Guy', 'statuses_count': 171812, 'profile_image_url': 'http://pbs.twimg.com/profile_images/3358487599/b7e72aaa11db9b615a2017dc45c8ee13_normal.png', 'profile_link_color': '93A644', 'following': False, 'id': 228015335, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 801, 'screen_name': 'SpryGuy', 'is_translator': False, 'description': 'Disgusted with the state of politics in this country #UniteBlue #p2 #topprog #ctl', 'id_str': '228015335', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/228015335/1403152339', 'has_extended_profile': False, 'time_zone': 'Central Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'EEEEEE', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/3358487599/b7e72aaa11db9b615a2017dc45c8ee13_normal.png', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme13/bg.gif', 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/3358487599/b7e72aaa11db9b615a2017dc45c8ee13_normal.png', profile_background_image_url_https='https://abs.twimg.com/images/themes/theme13/bg.gif', profile_background_tile=False, default_profile=False, geo_enabled=True, profile_background_image_url='http://abs.twimg.com/images/themes/theme13/bg.gif', time_zone='Central Time (US & Canada)', listed_count=214, following=False, friends_count=3893, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='FFFFFF', name='Spry Guy', profile_image_url='http://pbs.twimg.com/profile_images/3358487599/b7e72aaa11db9b615a2017dc45c8ee13_normal.png', id=228015335, lang='en', description='Disgusted with the state of politics in this country #UniteBlue #p2 #topprog #ctl', id_str='228015335', has_extended_profile=False, screen_name='SpryGuy', profile_sidebar_border_color='EEEEEE'), text='FUN FACT: Hillary Clinton won more votes than any white man who ever ran for President.', entities={'hashtags': [], 'symbols': [], 'urls': [], 'user_mentions': []}, in_reply_to_status_id=None, contributors=None, in_reply_to_screen_name=None, created_at=datetime.datetime(2016, 11, 13, 16, 34, 6), favorite_count=17839, source_url='http://twitter.com', metadata={'iso_language_code': 'en', 'result_type': 'recent'}, source='Twitter Web Client', in_reply_to_status_id_str=None, id=797839968181878785, in_reply_to_user_id=None, lang='en', in_reply_to_user_id_str=None, retweet_count=9353, coordinates=None, retweeted=False, id_str='797839968181878785', truncated=False, favorited=False, _json={'geo': None, 'is_quote_status': False, 'user': {'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme13/bg.gif', 'utc_offset': -21600, 'entities': {'description': {'urls': []}}, 'listed_count': 214, 'profile_background_color': 'B2DFDA', 'verified': False, 'followers_count': 6712, 'url': None, 'friends_count': 3893, 'is_translation_enabled': False, 'location': 'Austin', 'created_at': 'Sat Dec 18 13:33:42 +0000 2010', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'FFFFFF', 'name': 'Spry Guy', 'statuses_count': 171812, 'profile_image_url': 'http://pbs.twimg.com/profile_images/3358487599/b7e72aaa11db9b615a2017dc45c8ee13_normal.png', 'profile_link_color': '93A644', 'following': False, 'id': 228015335, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 801, 'screen_name': 'SpryGuy', 'is_translator': False, 'description': 'Disgusted with the state of politics in this country #UniteBlue #p2 #topprog #ctl', 'id_str': '228015335', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/228015335/1403152339', 'has_extended_profile': False, 'time_zone': 'Central Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'EEEEEE', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/3358487599/b7e72aaa11db9b615a2017dc45c8ee13_normal.png', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme13/bg.gif', 'profile_text_color': '333333', 'profile_background_tile': False}, 'text': 'FUN FACT: Hillary Clinton won more votes than any white man who ever ran for President.', 'entities': {'hashtags': [], 'symbols': [], 'urls': [], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Sun Nov 13 16:34:06 +0000 2016', 'lang': 'en', 'source': 'Twitter Web Client ', 'contributors': None, 'id': 797839968181878785, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 9353, 'coordinates': None, 'retweeted': False, 'id_str': '797839968181878785', 'truncated': False, 'place': {'url': 'https://api.twitter.com/1.1/geo/id/e0060cda70f5f341.json', 'country': 'United States', 'id': 'e0060cda70f5f341', 'full_name': 'Texas, USA', 'attributes': {}, 'bounding_box': {'coordinates': [[[-106.645646, 25.837092], [-93.508131, 25.837092], [-93.508131, 36.500695], [-106.645646, 36.500695]]], 'type': 'Polygon'}, 'place_type': 'admin', 'country_code': 'US', 'name': 'Texas', 'contained_within': []}, 'favorite_count': 17839}, _api=, place=Place(url='https://api.twitter.com/1.1/geo/id/e0060cda70f5f341.json', country='United States', id='e0060cda70f5f341', full_name='Texas, USA', bounding_box=BoundingBox(_api=, type='Polygon', coordinates=[[[-106.645646, 25.837092], [-93.508131, 25.837092], [-93.508131, 36.500695], [-106.645646, 36.500695]]]), _api=, place_type='admin', name='Texas', country_code='US', attributes={}, contained_within=[]), author=User(verified=False, utc_offset=-21600, entities={'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/228015335/1403152339', followers_count=6712, url=None, is_translation_enabled=False, location='Austin', created_at=datetime.datetime(2010, 12, 18, 13, 33, 42), default_profile_image=False, profile_use_background_image=True, statuses_count=171812, protected=False, favourites_count=801, profile_background_color='B2DFDA', is_translator=False, profile_text_color='333333', profile_link_color='93A644', _json={'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme13/bg.gif', 'utc_offset': -21600, 'entities': {'description': {'urls': []}}, 'listed_count': 214, 'profile_background_color': 'B2DFDA', 'verified': False, 'followers_count': 6712, 'url': None, 'friends_count': 3893, 'is_translation_enabled': False, 'location': 'Austin', 'created_at': 'Sat Dec 18 13:33:42 +0000 2010', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'FFFFFF', 'name': 'Spry Guy', 'statuses_count': 171812, 'profile_image_url': 'http://pbs.twimg.com/profile_images/3358487599/b7e72aaa11db9b615a2017dc45c8ee13_normal.png', 'profile_link_color': '93A644', 'following': False, 'id': 228015335, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 801, 'screen_name': 'SpryGuy', 'is_translator': False, 'description': 'Disgusted with the state of politics in this country #UniteBlue #p2 #topprog #ctl', 'id_str': '228015335', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/228015335/1403152339', 'has_extended_profile': False, 'time_zone': 'Central Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'EEEEEE', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/3358487599/b7e72aaa11db9b615a2017dc45c8ee13_normal.png', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme13/bg.gif', 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/3358487599/b7e72aaa11db9b615a2017dc45c8ee13_normal.png', profile_background_image_url_https='https://abs.twimg.com/images/themes/theme13/bg.gif', profile_background_tile=False, default_profile=False, geo_enabled=True, profile_background_image_url='http://abs.twimg.com/images/themes/theme13/bg.gif', time_zone='Central Time (US & Canada)', listed_count=214, following=False, friends_count=3893, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='FFFFFF', name='Spry Guy', profile_image_url='http://pbs.twimg.com/profile_images/3358487599/b7e72aaa11db9b615a2017dc45c8ee13_normal.png', id=228015335, lang='en', description='Disgusted with the state of politics in this country #UniteBlue #p2 #topprog #ctl', id_str='228015335', has_extended_profile=False, screen_name='SpryGuy', profile_sidebar_border_color='EEEEEE')), in_reply_to_status_id=None, contributors=None, in_reply_to_screen_name=None, created_at=datetime.datetime(2016, 11, 15, 1, 20, 1), favorite_count=0, source_url='http://twitter.com/download/iphone', metadata={'iso_language_code': 'en', 'result_type': 'recent'}, source='Twitter for iPhone', in_reply_to_status_id_str=None, id=798334706764943361, in_reply_to_user_id=None, lang='en', in_reply_to_user_id_str=None, retweet_count=9353, coordinates=None, retweeted=False, id_str='798334706764943361', truncated=False, favorited=False, _json={'geo': None, 'is_quote_status': False, 'user': {'default_profile': True, 'geo_enabled': True, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'utc_offset': None, 'entities': {'description': {'urls': []}}, 'listed_count': 69, 'profile_background_color': 'C0DEED', 'verified': False, 'followers_count': 2277, 'url': None, 'friends_count': 2403, 'is_translation_enabled': False, 'location': 'JoCo NC', 'created_at': 'Mon Aug 20 12:57:10 +0000 2012', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Kathy💔White', 'statuses_count': 20115, 'profile_image_url': 'http://pbs.twimg.com/profile_images/710178436392726528/RkK_DepC_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 769480195, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 10711, 'screen_name': 'katbeewhite', 'is_translator': False, 'description': 'Tarheel born, Tarheel bred, wife, mom, grandmother. Love politics, running, my rescue dogs & backyard chickens #ExpandMedicaidNC #MoralMonday #PeaceRocks', 'id_str': '769480195', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/769480195/1363487883', 'has_extended_profile': False, 'time_zone': None, 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/710178436392726528/RkK_DepC_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_text_color': '333333', 'profile_background_tile': False}, 'text': 'RT @SpryGuy: FUN FACT: Hillary Clinton won more votes than any white man who ever ran for President.', 'entities': {'hashtags': [], 'symbols': [], 'urls': [], 'user_mentions': [{'screen_name': 'SpryGuy', 'indices': [3, 11], 'id': 228015335, 'id_str': '228015335', 'name': 'Spry Guy'}]}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Tue Nov 15 01:20:01 +0000 2016', 'lang': 'en', 'source': 'Twitter for iPhone ', 'contributors': None, 'id': 798334706764943361, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 9353, 'coordinates': None, 'retweeted': False, 'id_str': '798334706764943361', 'truncated': False, 'place': None, 'favorite_count': 0, 'retweeted_status': {'geo': None, 'is_quote_status': False, 'user': {'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme13/bg.gif', 'utc_offset': -21600, 'entities': {'description': {'urls': []}}, 'listed_count': 214, 'profile_background_color': 'B2DFDA', 'verified': False, 'followers_count': 6712, 'url': None, 'friends_count': 3893, 'is_translation_enabled': False, 'location': 'Austin', 'created_at': 'Sat Dec 18 13:33:42 +0000 2010', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'FFFFFF', 'name': 'Spry Guy', 'statuses_count': 171812, 'profile_image_url': 'http://pbs.twimg.com/profile_images/3358487599/b7e72aaa11db9b615a2017dc45c8ee13_normal.png', 'profile_link_color': '93A644', 'following': False, 'id': 228015335, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 801, 'screen_name': 'SpryGuy', 'is_translator': False, 'description': 'Disgusted with the state of politics in this country #UniteBlue #p2 #topprog #ctl', 'id_str': '228015335', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/228015335/1403152339', 'has_extended_profile': False, 'time_zone': 'Central Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'EEEEEE', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/3358487599/b7e72aaa11db9b615a2017dc45c8ee13_normal.png', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme13/bg.gif', 'profile_text_color': '333333', 'profile_background_tile': False}, 'text': 'FUN FACT: Hillary Clinton won more votes than any white man who ever ran for President.', 'entities': {'hashtags': [], 'symbols': [], 'urls': [], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Sun Nov 13 16:34:06 +0000 2016', 'lang': 'en', 'source': 'Twitter Web Client ', 'contributors': None, 'id': 797839968181878785, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 9353, 'coordinates': None, 'retweeted': False, 'id_str': '797839968181878785', 'truncated': False, 'place': {'url': 'https://api.twitter.com/1.1/geo/id/e0060cda70f5f341.json', 'country': 'United States', 'id': 'e0060cda70f5f341', 'full_name': 'Texas, USA', 'attributes': {}, 'bounding_box': {'coordinates': [[[-106.645646, 25.837092], [-93.508131, 25.837092], [-93.508131, 36.500695], [-106.645646, 36.500695]]], 'type': 'Polygon'}, 'place_type': 'admin', 'country_code': 'US', 'name': 'Texas', 'contained_within': []}, 'favorite_count': 17839}}, _api=, place=None, author=User(verified=False, utc_offset=None, entities={'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/769480195/1363487883', followers_count=2277, url=None, is_translation_enabled=False, location='JoCo NC', created_at=datetime.datetime(2012, 8, 20, 12, 57, 10), default_profile_image=False, profile_use_background_image=True, statuses_count=20115, protected=False, favourites_count=10711, profile_background_color='C0DEED', is_translator=False, profile_text_color='333333', profile_link_color='1DA1F2', _json={'default_profile': True, 'geo_enabled': True, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'utc_offset': None, 'entities': {'description': {'urls': []}}, 'listed_count': 69, 'profile_background_color': 'C0DEED', 'verified': False, 'followers_count': 2277, 'url': None, 'friends_count': 2403, 'is_translation_enabled': False, 'location': 'JoCo NC', 'created_at': 'Mon Aug 20 12:57:10 +0000 2012', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Kathy💔White', 'statuses_count': 20115, 'profile_image_url': 'http://pbs.twimg.com/profile_images/710178436392726528/RkK_DepC_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 769480195, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 10711, 'screen_name': 'katbeewhite', 'is_translator': False, 'description': 'Tarheel born, Tarheel bred, wife, mom, grandmother. Love politics, running, my rescue dogs & backyard chickens #ExpandMedicaidNC #MoralMonday #PeaceRocks', 'id_str': '769480195', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/769480195/1363487883', 'has_extended_profile': False, 'time_zone': None, 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/710178436392726528/RkK_DepC_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/710178436392726528/RkK_DepC_normal.jpg', profile_background_image_url_https='https://abs.twimg.com/images/themes/theme1/bg.png', profile_background_tile=False, default_profile=True, geo_enabled=True, profile_background_image_url='http://abs.twimg.com/images/themes/theme1/bg.png', time_zone=None, listed_count=69, following=False, friends_count=2403, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='Kathy💔White', profile_image_url='http://pbs.twimg.com/profile_images/710178436392726528/RkK_DepC_normal.jpg', id=769480195, lang='en', description='Tarheel born, Tarheel bred, wife, mom, grandmother. Love politics, running, my rescue dogs & backyard chickens #ExpandMedicaidNC #MoralMonday #PeaceRocks', id_str='769480195', has_extended_profile=False, screen_name='katbeewhite', profile_sidebar_border_color='C0DEED')), Status(geo=None, is_quote_status=False, user=User(verified=False, utc_offset=None, entities={'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/1395790554/1478972096', followers_count=470, url=None, is_translation_enabled=False, location='', created_at=datetime.datetime(2013, 5, 1, 23, 35, 24), default_profile_image=False, profile_use_background_image=True, statuses_count=10966, protected=False, favourites_count=23928, profile_background_color='C0DEED', is_translator=False, profile_text_color='333333', profile_link_color='1DA1F2', _json={'default_profile': True, 'geo_enabled': True, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'utc_offset': None, 'entities': {'description': {'urls': []}}, 'listed_count': 19, 'profile_background_color': 'C0DEED', 'verified': False, 'followers_count': 470, 'url': None, 'friends_count': 1727, 'is_translation_enabled': False, 'location': '', 'created_at': 'Wed May 01 23:35:24 +0000 2013', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Elizabeth Grevesen', 'statuses_count': 10966, 'profile_image_url': 'http://pbs.twimg.com/profile_images/790303988956659713/Ud2HRLF6_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 1395790554, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 23928, 'screen_name': 'e916greves', 'is_translator': False, 'description': '@BritneySpears @jjrhodes9 @BettyMWhite @HillaryClinton @BarbaraJWalters @JudgeJudy @MrsSOsbourne @joyvbehar fan❤️live love laugh☮♈️', 'id_str': '1395790554', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/1395790554/1478972096', 'has_extended_profile': True, 'time_zone': None, 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/790303988956659713/Ud2HRLF6_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/790303988956659713/Ud2HRLF6_normal.jpg', profile_background_image_url_https='https://abs.twimg.com/images/themes/theme1/bg.png', profile_background_tile=False, default_profile=True, geo_enabled=True, profile_background_image_url='http://abs.twimg.com/images/themes/theme1/bg.png', time_zone=None, listed_count=19, following=False, friends_count=1727, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='Elizabeth Grevesen', profile_image_url='http://pbs.twimg.com/profile_images/790303988956659713/Ud2HRLF6_normal.jpg', id=1395790554, lang='en', description='@BritneySpears @jjrhodes9 @BettyMWhite @HillaryClinton @BarbaraJWalters @JudgeJudy @MrsSOsbourne @joyvbehar fan❤️live love laugh☮♈️', id_str='1395790554', has_extended_profile=True, screen_name='e916greves', profile_sidebar_border_color='C0DEED'), text='RT @France4Hillary: Trump supporters keep spreading fake memes about Trump winning the popular vote. She won the popular vote big!\\nhttps://…', entities={'hashtags': [], 'symbols': [], 'urls': [], 'user_mentions': [{'screen_name': 'France4Hillary', 'indices': [3, 18], 'id': 4327242015, 'id_str': '4327242015', 'name': '#NotMyPresident'}]}, retweeted_status=Status(geo=None, is_quote_status=False, user=User(verified=False, utc_offset=3600, entities={'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/4327242015/1479051890', followers_count=18252, url=None, is_translation_enabled=False, location='Paris, Ile-de-France', created_at=datetime.datetime(2015, 11, 30, 9, 7, 6), default_profile_image=False, profile_use_background_image=False, statuses_count=2326, protected=False, favourites_count=20962, profile_background_color='000000', is_translator=False, profile_text_color='000000', profile_link_color='3B94D9', _json={'default_profile': False, 'geo_enabled': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'utc_offset': 3600, 'entities': {'description': {'urls': []}}, 'listed_count': 144, 'profile_background_color': '000000', 'verified': False, 'followers_count': 18252, 'url': None, 'friends_count': 19997, 'is_translation_enabled': False, 'location': 'Paris, Ile-de-France', 'created_at': 'Mon Nov 30 09:07:06 +0000 2015', 'default_profile_image': False, 'profile_use_background_image': False, 'profile_sidebar_fill_color': '000000', 'name': '#NotMyPresident', 'statuses_count': 2326, 'profile_image_url': 'http://pbs.twimg.com/profile_images/688691953224011776/QgmbJx9T_normal.jpg', 'profile_link_color': '3B94D9', 'following': False, 'id': 4327242015, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 20962, 'screen_name': 'France4Hillary', 'is_translator': False, 'description': \"France's view on American politics. #Hillary's proudest supporters. Trump is #NotMyPresident. Follow our French account @LeBlogPolitique! #StillWithHer #TFB\", 'id_str': '4327242015', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/4327242015/1479051890', 'has_extended_profile': False, 'time_zone': 'Paris', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': '000000', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/688691953224011776/QgmbJx9T_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_text_color': '000000', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/688691953224011776/QgmbJx9T_normal.jpg', profile_background_image_url_https='https://abs.twimg.com/images/themes/theme1/bg.png', profile_background_tile=False, default_profile=False, geo_enabled=False, profile_background_image_url='http://abs.twimg.com/images/themes/theme1/bg.png', time_zone='Paris', listed_count=144, following=False, friends_count=19997, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='000000', name='#NotMyPresident', profile_image_url='http://pbs.twimg.com/profile_images/688691953224011776/QgmbJx9T_normal.jpg', id=4327242015, lang='en', description=\"France's view on American politics. #Hillary's proudest supporters. Trump is #NotMyPresident. Follow our French account @LeBlogPolitique! #StillWithHer #TFB\", id_str='4327242015', has_extended_profile=False, screen_name='France4Hillary', profile_sidebar_border_color='000000'), text='Trump supporters keep spreading fake memes about Trump winning the popular vote. She won the popular vote big!\\nhttps://t.co/UFp6oQLaRm', entities={'hashtags': [], 'symbols': [], 'urls': [{'url': 'https://t.co/UFp6oQLaRm', 'indices': [111, 134], 'display_url': 'sfgate.com/politics/artic…', 'expanded_url': 'http://www.sfgate.com/politics/article/Hillary-Clinton-popular-vote-lead-2-million-10611489.php'}], 'user_mentions': []}, possibly_sensitive=False, in_reply_to_status_id=None, contributors=None, in_reply_to_screen_name=None, created_at=datetime.datetime(2016, 11, 14, 20, 17, 44), favorite_count=189, source_url='http://twitter.com', metadata={'iso_language_code': 'en', 'result_type': 'recent'}, source='Twitter Web Client', in_reply_to_status_id_str=None, id=798258634585239553, in_reply_to_user_id=None, lang='en', in_reply_to_user_id_str=None, retweet_count=167, coordinates=None, retweeted=False, id_str='798258634585239553', truncated=False, favorited=False, _json={'geo': None, 'is_quote_status': False, 'user': {'default_profile': False, 'geo_enabled': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'utc_offset': 3600, 'entities': {'description': {'urls': []}}, 'listed_count': 144, 'profile_background_color': '000000', 'verified': False, 'followers_count': 18252, 'url': None, 'friends_count': 19997, 'is_translation_enabled': False, 'location': 'Paris, Ile-de-France', 'created_at': 'Mon Nov 30 09:07:06 +0000 2015', 'default_profile_image': False, 'profile_use_background_image': False, 'profile_sidebar_fill_color': '000000', 'name': '#NotMyPresident', 'statuses_count': 2326, 'profile_image_url': 'http://pbs.twimg.com/profile_images/688691953224011776/QgmbJx9T_normal.jpg', 'profile_link_color': '3B94D9', 'following': False, 'id': 4327242015, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 20962, 'screen_name': 'France4Hillary', 'is_translator': False, 'description': \"France's view on American politics. #Hillary's proudest supporters. Trump is #NotMyPresident. Follow our French account @LeBlogPolitique! #StillWithHer #TFB\", 'id_str': '4327242015', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/4327242015/1479051890', 'has_extended_profile': False, 'time_zone': 'Paris', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': '000000', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/688691953224011776/QgmbJx9T_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_text_color': '000000', 'profile_background_tile': False}, 'text': 'Trump supporters keep spreading fake memes about Trump winning the popular vote. She won the popular vote big!\\nhttps://t.co/UFp6oQLaRm', 'entities': {'hashtags': [], 'symbols': [], 'urls': [{'url': 'https://t.co/UFp6oQLaRm', 'indices': [111, 134], 'display_url': 'sfgate.com/politics/artic…', 'expanded_url': 'http://www.sfgate.com/politics/article/Hillary-Clinton-popular-vote-lead-2-million-10611489.php'}], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Mon Nov 14 20:17:44 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'Twitter Web Client ', 'contributors': None, 'id': 798258634585239553, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 167, 'coordinates': None, 'retweeted': False, 'id_str': '798258634585239553', 'truncated': False, 'place': None, 'favorite_count': 189}, _api=, place=None, author=User(verified=False, utc_offset=3600, entities={'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/4327242015/1479051890', followers_count=18252, url=None, is_translation_enabled=False, location='Paris, Ile-de-France', created_at=datetime.datetime(2015, 11, 30, 9, 7, 6), default_profile_image=False, profile_use_background_image=False, statuses_count=2326, protected=False, favourites_count=20962, profile_background_color='000000', is_translator=False, profile_text_color='000000', profile_link_color='3B94D9', _json={'default_profile': False, 'geo_enabled': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'utc_offset': 3600, 'entities': {'description': {'urls': []}}, 'listed_count': 144, 'profile_background_color': '000000', 'verified': False, 'followers_count': 18252, 'url': None, 'friends_count': 19997, 'is_translation_enabled': False, 'location': 'Paris, Ile-de-France', 'created_at': 'Mon Nov 30 09:07:06 +0000 2015', 'default_profile_image': False, 'profile_use_background_image': False, 'profile_sidebar_fill_color': '000000', 'name': '#NotMyPresident', 'statuses_count': 2326, 'profile_image_url': 'http://pbs.twimg.com/profile_images/688691953224011776/QgmbJx9T_normal.jpg', 'profile_link_color': '3B94D9', 'following': False, 'id': 4327242015, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 20962, 'screen_name': 'France4Hillary', 'is_translator': False, 'description': \"France's view on American politics. #Hillary's proudest supporters. Trump is #NotMyPresident. Follow our French account @LeBlogPolitique! #StillWithHer #TFB\", 'id_str': '4327242015', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/4327242015/1479051890', 'has_extended_profile': False, 'time_zone': 'Paris', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': '000000', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/688691953224011776/QgmbJx9T_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_text_color': '000000', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/688691953224011776/QgmbJx9T_normal.jpg', profile_background_image_url_https='https://abs.twimg.com/images/themes/theme1/bg.png', profile_background_tile=False, default_profile=False, geo_enabled=False, profile_background_image_url='http://abs.twimg.com/images/themes/theme1/bg.png', time_zone='Paris', listed_count=144, following=False, friends_count=19997, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='000000', name='#NotMyPresident', profile_image_url='http://pbs.twimg.com/profile_images/688691953224011776/QgmbJx9T_normal.jpg', id=4327242015, lang='en', description=\"France's view on American politics. #Hillary's proudest supporters. Trump is #NotMyPresident. Follow our French account @LeBlogPolitique! #StillWithHer #TFB\", id_str='4327242015', has_extended_profile=False, screen_name='France4Hillary', profile_sidebar_border_color='000000')), in_reply_to_status_id=None, contributors=None, in_reply_to_screen_name=None, created_at=datetime.datetime(2016, 11, 15, 1, 20, 1), favorite_count=0, source_url='http://twitter.com/download/iphone', metadata={'iso_language_code': 'en', 'result_type': 'recent'}, source='Twitter for iPhone', in_reply_to_status_id_str=None, id=798334706756382720, in_reply_to_user_id=None, lang='en', in_reply_to_user_id_str=None, retweet_count=167, coordinates=None, retweeted=False, id_str='798334706756382720', truncated=False, favorited=False, _json={'geo': None, 'is_quote_status': False, 'user': {'default_profile': True, 'geo_enabled': True, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'utc_offset': None, 'entities': {'description': {'urls': []}}, 'listed_count': 19, 'profile_background_color': 'C0DEED', 'verified': False, 'followers_count': 470, 'url': None, 'friends_count': 1727, 'is_translation_enabled': False, 'location': '', 'created_at': 'Wed May 01 23:35:24 +0000 2013', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Elizabeth Grevesen', 'statuses_count': 10966, 'profile_image_url': 'http://pbs.twimg.com/profile_images/790303988956659713/Ud2HRLF6_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 1395790554, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 23928, 'screen_name': 'e916greves', 'is_translator': False, 'description': '@BritneySpears @jjrhodes9 @BettyMWhite @HillaryClinton @BarbaraJWalters @JudgeJudy @MrsSOsbourne @joyvbehar fan❤️live love laugh☮♈️', 'id_str': '1395790554', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/1395790554/1478972096', 'has_extended_profile': True, 'time_zone': None, 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/790303988956659713/Ud2HRLF6_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_text_color': '333333', 'profile_background_tile': False}, 'text': 'RT @France4Hillary: Trump supporters keep spreading fake memes about Trump winning the popular vote. She won the popular vote big!\\nhttps://…', 'entities': {'hashtags': [], 'symbols': [], 'urls': [], 'user_mentions': [{'screen_name': 'France4Hillary', 'indices': [3, 18], 'id': 4327242015, 'id_str': '4327242015', 'name': '#NotMyPresident'}]}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Tue Nov 15 01:20:01 +0000 2016', 'lang': 'en', 'source': 'Twitter for iPhone ', 'contributors': None, 'id': 798334706756382720, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 167, 'coordinates': None, 'retweeted': False, 'id_str': '798334706756382720', 'truncated': False, 'place': None, 'favorite_count': 0, 'retweeted_status': {'geo': None, 'is_quote_status': False, 'user': {'default_profile': False, 'geo_enabled': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'utc_offset': 3600, 'entities': {'description': {'urls': []}}, 'listed_count': 144, 'profile_background_color': '000000', 'verified': False, 'followers_count': 18252, 'url': None, 'friends_count': 19997, 'is_translation_enabled': False, 'location': 'Paris, Ile-de-France', 'created_at': 'Mon Nov 30 09:07:06 +0000 2015', 'default_profile_image': False, 'profile_use_background_image': False, 'profile_sidebar_fill_color': '000000', 'name': '#NotMyPresident', 'statuses_count': 2326, 'profile_image_url': 'http://pbs.twimg.com/profile_images/688691953224011776/QgmbJx9T_normal.jpg', 'profile_link_color': '3B94D9', 'following': False, 'id': 4327242015, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 20962, 'screen_name': 'France4Hillary', 'is_translator': False, 'description': \"France's view on American politics. #Hillary's proudest supporters. Trump is #NotMyPresident. Follow our French account @LeBlogPolitique! #StillWithHer #TFB\", 'id_str': '4327242015', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/4327242015/1479051890', 'has_extended_profile': False, 'time_zone': 'Paris', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': '000000', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/688691953224011776/QgmbJx9T_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_text_color': '000000', 'profile_background_tile': False}, 'text': 'Trump supporters keep spreading fake memes about Trump winning the popular vote. She won the popular vote big!\\nhttps://t.co/UFp6oQLaRm', 'entities': {'hashtags': [], 'symbols': [], 'urls': [{'url': 'https://t.co/UFp6oQLaRm', 'indices': [111, 134], 'display_url': 'sfgate.com/politics/artic…', 'expanded_url': 'http://www.sfgate.com/politics/article/Hillary-Clinton-popular-vote-lead-2-million-10611489.php'}], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Mon Nov 14 20:17:44 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'Twitter Web Client ', 'contributors': None, 'id': 798258634585239553, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 167, 'coordinates': None, 'retweeted': False, 'id_str': '798258634585239553', 'truncated': False, 'place': None, 'favorite_count': 189}}, _api=, place=None, author=User(verified=False, utc_offset=None, entities={'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/1395790554/1478972096', followers_count=470, url=None, is_translation_enabled=False, location='', created_at=datetime.datetime(2013, 5, 1, 23, 35, 24), default_profile_image=False, profile_use_background_image=True, statuses_count=10966, protected=False, favourites_count=23928, profile_background_color='C0DEED', is_translator=False, profile_text_color='333333', profile_link_color='1DA1F2', _json={'default_profile': True, 'geo_enabled': True, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'utc_offset': None, 'entities': {'description': {'urls': []}}, 'listed_count': 19, 'profile_background_color': 'C0DEED', 'verified': False, 'followers_count': 470, 'url': None, 'friends_count': 1727, 'is_translation_enabled': False, 'location': '', 'created_at': 'Wed May 01 23:35:24 +0000 2013', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Elizabeth Grevesen', 'statuses_count': 10966, 'profile_image_url': 'http://pbs.twimg.com/profile_images/790303988956659713/Ud2HRLF6_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 1395790554, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 23928, 'screen_name': 'e916greves', 'is_translator': False, 'description': '@BritneySpears @jjrhodes9 @BettyMWhite @HillaryClinton @BarbaraJWalters @JudgeJudy @MrsSOsbourne @joyvbehar fan❤️live love laugh☮♈️', 'id_str': '1395790554', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/1395790554/1478972096', 'has_extended_profile': True, 'time_zone': None, 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/790303988956659713/Ud2HRLF6_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/790303988956659713/Ud2HRLF6_normal.jpg', profile_background_image_url_https='https://abs.twimg.com/images/themes/theme1/bg.png', profile_background_tile=False, default_profile=True, geo_enabled=True, profile_background_image_url='http://abs.twimg.com/images/themes/theme1/bg.png', time_zone=None, listed_count=19, following=False, friends_count=1727, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='Elizabeth Grevesen', profile_image_url='http://pbs.twimg.com/profile_images/790303988956659713/Ud2HRLF6_normal.jpg', id=1395790554, lang='en', description='@BritneySpears @jjrhodes9 @BettyMWhite @HillaryClinton @BarbaraJWalters @JudgeJudy @MrsSOsbourne @joyvbehar fan❤️live love laugh☮♈️', id_str='1395790554', has_extended_profile=True, screen_name='e916greves', profile_sidebar_border_color='C0DEED')), Status(geo=None, is_quote_status=False, user=User(verified=False, utc_offset=-28800, entities={'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/3395964711/1469395292', followers_count=15913, url=None, is_translation_enabled=False, location='', created_at=datetime.datetime(2015, 7, 30, 19, 53, 21), default_profile_image=False, profile_use_background_image=True, statuses_count=54785, protected=False, favourites_count=77211, profile_background_color='94D487', is_translator=False, profile_text_color='000000', profile_link_color='4A913C', _json={'default_profile': False, 'geo_enabled': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'utc_offset': -28800, 'entities': {'description': {'urls': []}}, 'listed_count': 198, 'profile_background_color': '94D487', 'verified': False, 'followers_count': 15913, 'url': None, 'friends_count': 1711, 'is_translation_enabled': False, 'location': '', 'created_at': 'Thu Jul 30 19:53:21 +0000 2015', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': '000000', 'name': 'Women 4 Trump', 'statuses_count': 54785, 'profile_image_url': 'http://pbs.twimg.com/profile_images/716318245557547009/NnITEx1T_normal.jpg', 'profile_link_color': '4A913C', 'following': False, 'id': 3395964711, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 77211, 'screen_name': 'Women4Trump', 'is_translator': False, 'description': \"#MAGA\\nPS: Twitter is censoring my tweets saying they contain sensitive material when they don't\", 'id_str': '3395964711', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/3395964711/1469395292', 'has_extended_profile': False, 'time_zone': 'Pacific Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': '000000', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/716318245557547009/NnITEx1T_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_text_color': '000000', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/716318245557547009/NnITEx1T_normal.jpg', profile_background_image_url_https='https://abs.twimg.com/images/themes/theme1/bg.png', profile_background_tile=False, default_profile=False, geo_enabled=False, profile_background_image_url='http://abs.twimg.com/images/themes/theme1/bg.png', time_zone='Pacific Time (US & Canada)', listed_count=198, following=False, friends_count=1711, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='000000', name='Women 4 Trump', profile_image_url='http://pbs.twimg.com/profile_images/716318245557547009/NnITEx1T_normal.jpg', id=3395964711, lang='en', description=\"#MAGA\\nPS: Twitter is censoring my tweets saying they contain sensitive material when they don't\", id_str='3395964711', has_extended_profile=False, screen_name='Women4Trump', profile_sidebar_border_color='000000'), text='Evil\\nClinton Asks Judge to Toss Case Filed by Parents of Benghazi Victims https://t.co/AUaTzvYoS5 via @law_newz', entities={'hashtags': [], 'symbols': [], 'urls': [{'url': 'https://t.co/AUaTzvYoS5', 'indices': [74, 97], 'display_url': 'lawnewz.com/high-profile/c…', 'expanded_url': 'http://lawnewz.com/high-profile/clinton-asks-judge-to-toss-case-filed-by-parents-of-benghazi-victims/'}], 'user_mentions': [{'screen_name': 'law_newz', 'indices': [102, 111], 'id': 4068337756, 'id_str': '4068337756', 'name': 'LawNewz'}]}, possibly_sensitive=True, in_reply_to_status_id=None, contributors=None, in_reply_to_screen_name=None, created_at=datetime.datetime(2016, 11, 15, 1, 20), favorite_count=1, source_url='http://twitter.com', metadata={'iso_language_code': 'en', 'result_type': 'recent'}, source='Twitter Web Client', in_reply_to_status_id_str=None, id=798334705745571840, in_reply_to_user_id=None, lang='en', in_reply_to_user_id_str=None, retweet_count=2, coordinates=None, retweeted=False, id_str='798334705745571840', truncated=False, favorited=False, _json={'geo': None, 'is_quote_status': False, 'user': {'default_profile': False, 'geo_enabled': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'utc_offset': -28800, 'entities': {'description': {'urls': []}}, 'listed_count': 198, 'profile_background_color': '94D487', 'verified': False, 'followers_count': 15913, 'url': None, 'friends_count': 1711, 'is_translation_enabled': False, 'location': '', 'created_at': 'Thu Jul 30 19:53:21 +0000 2015', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': '000000', 'name': 'Women 4 Trump', 'statuses_count': 54785, 'profile_image_url': 'http://pbs.twimg.com/profile_images/716318245557547009/NnITEx1T_normal.jpg', 'profile_link_color': '4A913C', 'following': False, 'id': 3395964711, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 77211, 'screen_name': 'Women4Trump', 'is_translator': False, 'description': \"#MAGA\\nPS: Twitter is censoring my tweets saying they contain sensitive material when they don't\", 'id_str': '3395964711', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/3395964711/1469395292', 'has_extended_profile': False, 'time_zone': 'Pacific Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': '000000', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/716318245557547009/NnITEx1T_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_text_color': '000000', 'profile_background_tile': False}, 'text': 'Evil\\nClinton Asks Judge to Toss Case Filed by Parents of Benghazi Victims https://t.co/AUaTzvYoS5 via @law_newz', 'entities': {'hashtags': [], 'symbols': [], 'urls': [{'url': 'https://t.co/AUaTzvYoS5', 'indices': [74, 97], 'display_url': 'lawnewz.com/high-profile/c…', 'expanded_url': 'http://lawnewz.com/high-profile/clinton-asks-judge-to-toss-case-filed-by-parents-of-benghazi-victims/'}], 'user_mentions': [{'screen_name': 'law_newz', 'indices': [102, 111], 'id': 4068337756, 'id_str': '4068337756', 'name': 'LawNewz'}]}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Tue Nov 15 01:20:00 +0000 2016', 'possibly_sensitive': True, 'lang': 'en', 'source': 'Twitter Web Client ', 'contributors': None, 'id': 798334705745571840, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 2, 'coordinates': None, 'retweeted': False, 'id_str': '798334705745571840', 'truncated': False, 'place': None, 'favorite_count': 1}, _api=, place=None, author=User(verified=False, utc_offset=-28800, entities={'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/3395964711/1469395292', followers_count=15913, url=None, is_translation_enabled=False, location='', created_at=datetime.datetime(2015, 7, 30, 19, 53, 21), default_profile_image=False, profile_use_background_image=True, statuses_count=54785, protected=False, favourites_count=77211, profile_background_color='94D487', is_translator=False, profile_text_color='000000', profile_link_color='4A913C', _json={'default_profile': False, 'geo_enabled': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'utc_offset': -28800, 'entities': {'description': {'urls': []}}, 'listed_count': 198, 'profile_background_color': '94D487', 'verified': False, 'followers_count': 15913, 'url': None, 'friends_count': 1711, 'is_translation_enabled': False, 'location': '', 'created_at': 'Thu Jul 30 19:53:21 +0000 2015', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': '000000', 'name': 'Women 4 Trump', 'statuses_count': 54785, 'profile_image_url': 'http://pbs.twimg.com/profile_images/716318245557547009/NnITEx1T_normal.jpg', 'profile_link_color': '4A913C', 'following': False, 'id': 3395964711, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 77211, 'screen_name': 'Women4Trump', 'is_translator': False, 'description': \"#MAGA\\nPS: Twitter is censoring my tweets saying they contain sensitive material when they don't\", 'id_str': '3395964711', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/3395964711/1469395292', 'has_extended_profile': False, 'time_zone': 'Pacific Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': '000000', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/716318245557547009/NnITEx1T_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_text_color': '000000', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/716318245557547009/NnITEx1T_normal.jpg', profile_background_image_url_https='https://abs.twimg.com/images/themes/theme1/bg.png', profile_background_tile=False, default_profile=False, geo_enabled=False, profile_background_image_url='http://abs.twimg.com/images/themes/theme1/bg.png', time_zone='Pacific Time (US & Canada)', listed_count=198, following=False, friends_count=1711, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='000000', name='Women 4 Trump', profile_image_url='http://pbs.twimg.com/profile_images/716318245557547009/NnITEx1T_normal.jpg', id=3395964711, lang='en', description=\"#MAGA\\nPS: Twitter is censoring my tweets saying they contain sensitive material when they don't\", id_str='3395964711', has_extended_profile=False, screen_name='Women4Trump', profile_sidebar_border_color='000000')), Status(geo=None, is_quote_status=True, user=User(verified=False, utc_offset=None, entities={'url': {'urls': [{'url': 'https://t.co/KrhY5YIzjI', 'indices': [0, 23], 'display_url': 'lauritanner.com', 'expanded_url': 'http://lauritanner.com'}]}, 'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/24044018/1479015493', followers_count=1914, url='https://t.co/KrhY5YIzjI', is_translation_enabled=False, location='Oakland, Guatemala, Miami, ...', created_at=datetime.datetime(2009, 3, 12, 21, 36, 37), default_profile_image=False, profile_use_background_image=True, statuses_count=77793, protected=False, favourites_count=63856, profile_background_color='E0C172', is_translator=False, profile_text_color='333333', profile_link_color='0084B4', _json={'default_profile': False, 'geo_enabled': False, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/26349999/printable5.gif', 'utc_offset': None, 'entities': {'url': {'urls': [{'url': 'https://t.co/KrhY5YIzjI', 'indices': [0, 23], 'display_url': 'lauritanner.com', 'expanded_url': 'http://lauritanner.com'}]}, 'description': {'urls': []}}, 'listed_count': 69, 'profile_background_color': 'E0C172', 'verified': False, 'followers_count': 1914, 'url': 'https://t.co/KrhY5YIzjI', 'friends_count': 3025, 'is_translation_enabled': False, 'location': 'Oakland, Guatemala, Miami, ...', 'created_at': 'Thu Mar 12 21:36:37 +0000 2009', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDFFCC', 'name': 'Lauri T.', 'statuses_count': 77793, 'profile_image_url': 'http://pbs.twimg.com/profile_images/797742765966622720/8qCnMypC_normal.jpg', 'profile_link_color': '0084B4', 'following': False, 'id': 24044018, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 63856, 'screen_name': 'laurirose', 'is_translator': False, 'description': '#LoveStillTrumpsHate. #NoH8. & Sports: @Warriors @MiamiHurricanes; Organic #garden; Dog💛; #Arts; @LtlFreeLibrary; #HumanRights; @EnviroDefenders @filmfestsbook', 'id_str': '24044018', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/24044018/1479015493', 'has_extended_profile': True, 'time_zone': None, 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'BDDCAD', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/797742765966622720/8qCnMypC_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/26349999/printable5.gif', 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/797742765966622720/8qCnMypC_normal.jpg', profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/26349999/printable5.gif', profile_background_tile=False, default_profile=False, geo_enabled=False, profile_background_image_url='http://pbs.twimg.com/profile_background_images/26349999/printable5.gif', time_zone=None, listed_count=69, following=False, friends_count=3025, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDFFCC', name='Lauri T.', profile_image_url='http://pbs.twimg.com/profile_images/797742765966622720/8qCnMypC_normal.jpg', id=24044018, lang='en', description='#LoveStillTrumpsHate. #NoH8. & Sports: @Warriors @MiamiHurricanes; Organic #garden; Dog💛; #Arts; @LtlFreeLibrary; #HumanRights; @EnviroDefenders @filmfestsbook', id_str='24044018', has_extended_profile=True, screen_name='laurirose', profile_sidebar_border_color='BDDCAD'), text=\"RT @EricBoehlert: same children who'll be running Trump's businesses....and DC press mutilated Clinton Foundation over APPEARANCE of confl…\", entities={'hashtags': [], 'symbols': [], 'urls': [], 'user_mentions': [{'screen_name': 'EricBoehlert', 'indices': [3, 16], 'id': 34643610, 'id_str': '34643610', 'name': 'Eric Boehlert'}]}, retweeted_status=Status(geo=None, is_quote_status=True, user=User(verified=True, utc_offset=-18000, entities={'url': {'urls': [{'url': 'http://t.co/QsWd6rjSG8', 'indices': [0, 22], 'display_url': 'MediaMatters.org', 'expanded_url': 'http://www.MediaMatters.org/'}]}, 'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/34643610/1469018712', followers_count=66514, url='http://t.co/QsWd6rjSG8', is_translation_enabled=False, location='', created_at=datetime.datetime(2009, 4, 23, 15, 39, 39), default_profile_image=False, profile_use_background_image=False, statuses_count=70900, protected=False, favourites_count=122, profile_background_color='174A82', is_translator=False, profile_text_color='000000', profile_link_color='336699', _json={'default_profile': False, 'geo_enabled': False, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/9860779/book.jpg', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'http://t.co/QsWd6rjSG8', 'indices': [0, 22], 'display_url': 'MediaMatters.org', 'expanded_url': 'http://www.MediaMatters.org/'}]}, 'description': {'urls': []}}, 'listed_count': 2782, 'profile_background_color': '174A82', 'verified': True, 'followers_count': 66514, 'url': 'http://t.co/QsWd6rjSG8', 'friends_count': 781, 'is_translation_enabled': False, 'location': '', 'created_at': 'Thu Apr 23 15:39:39 +0000 2009', 'default_profile_image': False, 'profile_use_background_image': False, 'profile_sidebar_fill_color': 'DBE1F2', 'name': 'Eric Boehlert', 'statuses_count': 70900, 'profile_image_url': 'http://pbs.twimg.com/profile_images/606924518192324608/cTfPF0o9_normal.png', 'profile_link_color': '336699', 'following': False, 'id': 34643610, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 122, 'screen_name': 'EricBoehlert', 'is_translator': False, 'description': 'Media Matters. Author. former staffer at Salon, Rolling Stone and Billboard. Bowler. Utica Club aficionado. Opinions my own. Especially ones that offend', 'id_str': '34643610', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/34643610/1469018712', 'has_extended_profile': True, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': '336699', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/606924518192324608/cTfPF0o9_normal.png', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/9860779/book.jpg', 'profile_text_color': '000000', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/606924518192324608/cTfPF0o9_normal.png', profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/9860779/book.jpg', profile_background_tile=False, default_profile=False, geo_enabled=False, profile_background_image_url='http://pbs.twimg.com/profile_background_images/9860779/book.jpg', time_zone='Eastern Time (US & Canada)', listed_count=2782, following=False, friends_count=781, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DBE1F2', name='Eric Boehlert', profile_image_url='http://pbs.twimg.com/profile_images/606924518192324608/cTfPF0o9_normal.png', id=34643610, lang='en', description='Media Matters. Author. former staffer at Salon, Rolling Stone and Billboard. Bowler. Utica Club aficionado. Opinions my own. Especially ones that offend', id_str='34643610', has_extended_profile=True, screen_name='EricBoehlert', profile_sidebar_border_color='336699'), text=\"same children who'll be running Trump's businesses....and DC press mutilated Clinton Foundation over APPEARANCE of… https://t.co/XSqQOBOJEv\", entities={'hashtags': [], 'symbols': [], 'urls': [{'url': 'https://t.co/XSqQOBOJEv', 'indices': [117, 140], 'display_url': 'twitter.com/i/web/status/7…', 'expanded_url': 'https://twitter.com/i/web/status/798313794653065216'}], 'user_mentions': []}, possibly_sensitive=False, in_reply_to_status_id=None, contributors=None, in_reply_to_screen_name=None, created_at=datetime.datetime(2016, 11, 14, 23, 56, 55), favorite_count=507, source_url='http://twitter.com/download/iphone', metadata={'iso_language_code': 'en', 'result_type': 'recent'}, source='Twitter for iPhone', in_reply_to_status_id_str=None, id=798313794653065216, in_reply_to_user_id=None, lang='en', in_reply_to_user_id_str=None, retweet_count=527, coordinates=None, retweeted=False, id_str='798313794653065216', quoted_status_id=798300571908395008, quoted_status={'geo': None, 'is_quote_status': False, 'user': {'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme5/bg.gif', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'https://t.co/Vf88KRCZmh', 'indices': [0, 23], 'display_url': 'n.pr/1vfWm0Q', 'expanded_url': 'http://n.pr/1vfWm0Q'}]}, 'description': {'urls': []}}, 'listed_count': 145, 'profile_background_color': '000000', 'verified': True, 'followers_count': 2306, 'url': 'https://t.co/Vf88KRCZmh', 'friends_count': 1457, 'is_translation_enabled': False, 'location': 'Washington, D.C.', 'created_at': 'Wed Jul 25 12:03:14 +0000 2007', 'default_profile_image': False, 'profile_use_background_image': False, 'profile_sidebar_fill_color': '000000', 'name': 'Steve Mullis', 'statuses_count': 14634, 'profile_image_url': 'http://pbs.twimg.com/profile_images/686600038794031106/lZruj6MS_normal.jpg', 'profile_link_color': '3B94D9', 'following': False, 'id': 7709912, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 5000, 'screen_name': 'stevemullis', 'is_translator': False, 'description': 'I dig great journalism, video games and long walks with bricks on my back. Not all at once. Digital editor at @NPR. Opinions mine. Retweets are retweets.', 'id_str': '7709912', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/7709912/1474486229', 'has_extended_profile': False, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': '000000', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/686600038794031106/lZruj6MS_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme5/bg.gif', 'profile_text_color': '000000', 'profile_background_tile': False}, 'text': 'CNN: Trump has asked for top secret clearance for eldest 3 children (sorry Tiffany) and son-in-law Jared Kushner', 'entities': {'hashtags': [], 'symbols': [], 'urls': [], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Mon Nov 14 23:04:22 +0000 2016', 'lang': 'en', 'source': 'TweetDeck ', 'contributors': None, 'id': 798300571908395008, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 311, 'coordinates': None, 'retweeted': False, 'id_str': '798300571908395008', 'truncated': False, 'place': None, 'favorite_count': 216}, truncated=True, quoted_status_id_str='798300571908395008', favorited=False, _json={'geo': None, 'is_quote_status': True, 'user': {'default_profile': False, 'geo_enabled': False, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/9860779/book.jpg', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'http://t.co/QsWd6rjSG8', 'indices': [0, 22], 'display_url': 'MediaMatters.org', 'expanded_url': 'http://www.MediaMatters.org/'}]}, 'description': {'urls': []}}, 'listed_count': 2782, 'profile_background_color': '174A82', 'verified': True, 'followers_count': 66514, 'url': 'http://t.co/QsWd6rjSG8', 'friends_count': 781, 'is_translation_enabled': False, 'location': '', 'created_at': 'Thu Apr 23 15:39:39 +0000 2009', 'default_profile_image': False, 'profile_use_background_image': False, 'profile_sidebar_fill_color': 'DBE1F2', 'name': 'Eric Boehlert', 'statuses_count': 70900, 'profile_image_url': 'http://pbs.twimg.com/profile_images/606924518192324608/cTfPF0o9_normal.png', 'profile_link_color': '336699', 'following': False, 'id': 34643610, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 122, 'screen_name': 'EricBoehlert', 'is_translator': False, 'description': 'Media Matters. Author. former staffer at Salon, Rolling Stone and Billboard. Bowler. Utica Club aficionado. Opinions my own. Especially ones that offend', 'id_str': '34643610', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/34643610/1469018712', 'has_extended_profile': True, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': '336699', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/606924518192324608/cTfPF0o9_normal.png', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/9860779/book.jpg', 'profile_text_color': '000000', 'profile_background_tile': False}, 'text': \"same children who'll be running Trump's businesses....and DC press mutilated Clinton Foundation over APPEARANCE of… https://t.co/XSqQOBOJEv\", 'entities': {'hashtags': [], 'symbols': [], 'urls': [{'url': 'https://t.co/XSqQOBOJEv', 'indices': [117, 140], 'display_url': 'twitter.com/i/web/status/7…', 'expanded_url': 'https://twitter.com/i/web/status/798313794653065216'}], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Mon Nov 14 23:56:55 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'Twitter for iPhone ', 'contributors': None, 'id': 798313794653065216, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 527, 'coordinates': None, 'retweeted': False, 'id_str': '798313794653065216', 'quoted_status_id': 798300571908395008, 'quoted_status': {'geo': None, 'is_quote_status': False, 'user': {'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme5/bg.gif', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'https://t.co/Vf88KRCZmh', 'indices': [0, 23], 'display_url': 'n.pr/1vfWm0Q', 'expanded_url': 'http://n.pr/1vfWm0Q'}]}, 'description': {'urls': []}}, 'listed_count': 145, 'profile_background_color': '000000', 'verified': True, 'followers_count': 2306, 'url': 'https://t.co/Vf88KRCZmh', 'friends_count': 1457, 'is_translation_enabled': False, 'location': 'Washington, D.C.', 'created_at': 'Wed Jul 25 12:03:14 +0000 2007', 'default_profile_image': False, 'profile_use_background_image': False, 'profile_sidebar_fill_color': '000000', 'name': 'Steve Mullis', 'statuses_count': 14634, 'profile_image_url': 'http://pbs.twimg.com/profile_images/686600038794031106/lZruj6MS_normal.jpg', 'profile_link_color': '3B94D9', 'following': False, 'id': 7709912, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 5000, 'screen_name': 'stevemullis', 'is_translator': False, 'description': 'I dig great journalism, video games and long walks with bricks on my back. Not all at once. Digital editor at @NPR. Opinions mine. Retweets are retweets.', 'id_str': '7709912', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/7709912/1474486229', 'has_extended_profile': False, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': '000000', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/686600038794031106/lZruj6MS_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme5/bg.gif', 'profile_text_color': '000000', 'profile_background_tile': False}, 'text': 'CNN: Trump has asked for top secret clearance for eldest 3 children (sorry Tiffany) and son-in-law Jared Kushner', 'entities': {'hashtags': [], 'symbols': [], 'urls': [], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Mon Nov 14 23:04:22 +0000 2016', 'lang': 'en', 'source': 'TweetDeck ', 'contributors': None, 'id': 798300571908395008, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 311, 'coordinates': None, 'retweeted': False, 'id_str': '798300571908395008', 'truncated': False, 'place': None, 'favorite_count': 216}, 'truncated': True, 'quoted_status_id_str': '798300571908395008', 'place': None, 'favorite_count': 507}, _api=, place=None, author=User(verified=True, utc_offset=-18000, entities={'url': {'urls': [{'url': 'http://t.co/QsWd6rjSG8', 'indices': [0, 22], 'display_url': 'MediaMatters.org', 'expanded_url': 'http://www.MediaMatters.org/'}]}, 'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/34643610/1469018712', followers_count=66514, url='http://t.co/QsWd6rjSG8', is_translation_enabled=False, location='', created_at=datetime.datetime(2009, 4, 23, 15, 39, 39), default_profile_image=False, profile_use_background_image=False, statuses_count=70900, protected=False, favourites_count=122, profile_background_color='174A82', is_translator=False, profile_text_color='000000', profile_link_color='336699', _json={'default_profile': False, 'geo_enabled': False, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/9860779/book.jpg', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'http://t.co/QsWd6rjSG8', 'indices': [0, 22], 'display_url': 'MediaMatters.org', 'expanded_url': 'http://www.MediaMatters.org/'}]}, 'description': {'urls': []}}, 'listed_count': 2782, 'profile_background_color': '174A82', 'verified': True, 'followers_count': 66514, 'url': 'http://t.co/QsWd6rjSG8', 'friends_count': 781, 'is_translation_enabled': False, 'location': '', 'created_at': 'Thu Apr 23 15:39:39 +0000 2009', 'default_profile_image': False, 'profile_use_background_image': False, 'profile_sidebar_fill_color': 'DBE1F2', 'name': 'Eric Boehlert', 'statuses_count': 70900, 'profile_image_url': 'http://pbs.twimg.com/profile_images/606924518192324608/cTfPF0o9_normal.png', 'profile_link_color': '336699', 'following': False, 'id': 34643610, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 122, 'screen_name': 'EricBoehlert', 'is_translator': False, 'description': 'Media Matters. Author. former staffer at Salon, Rolling Stone and Billboard. Bowler. Utica Club aficionado. Opinions my own. Especially ones that offend', 'id_str': '34643610', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/34643610/1469018712', 'has_extended_profile': True, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': '336699', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/606924518192324608/cTfPF0o9_normal.png', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/9860779/book.jpg', 'profile_text_color': '000000', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/606924518192324608/cTfPF0o9_normal.png', profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/9860779/book.jpg', profile_background_tile=False, default_profile=False, geo_enabled=False, profile_background_image_url='http://pbs.twimg.com/profile_background_images/9860779/book.jpg', time_zone='Eastern Time (US & Canada)', listed_count=2782, following=False, friends_count=781, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DBE1F2', name='Eric Boehlert', profile_image_url='http://pbs.twimg.com/profile_images/606924518192324608/cTfPF0o9_normal.png', id=34643610, lang='en', description='Media Matters. Author. former staffer at Salon, Rolling Stone and Billboard. Bowler. Utica Club aficionado. Opinions my own. Especially ones that offend', id_str='34643610', has_extended_profile=True, screen_name='EricBoehlert', profile_sidebar_border_color='336699')), in_reply_to_status_id=None, contributors=None, in_reply_to_screen_name=None, created_at=datetime.datetime(2016, 11, 15, 1, 20), favorite_count=0, source_url='http://twitter.com', metadata={'iso_language_code': 'en', 'result_type': 'recent'}, source='Twitter Web Client', in_reply_to_status_id_str=None, id=798334705560977408, in_reply_to_user_id=None, lang='en', in_reply_to_user_id_str=None, retweet_count=527, coordinates=None, retweeted=False, id_str='798334705560977408', quoted_status_id=798300571908395008, truncated=False, quoted_status_id_str='798300571908395008', favorited=False, _json={'geo': None, 'is_quote_status': True, 'user': {'default_profile': False, 'geo_enabled': False, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/26349999/printable5.gif', 'utc_offset': None, 'entities': {'url': {'urls': [{'url': 'https://t.co/KrhY5YIzjI', 'indices': [0, 23], 'display_url': 'lauritanner.com', 'expanded_url': 'http://lauritanner.com'}]}, 'description': {'urls': []}}, 'listed_count': 69, 'profile_background_color': 'E0C172', 'verified': False, 'followers_count': 1914, 'url': 'https://t.co/KrhY5YIzjI', 'friends_count': 3025, 'is_translation_enabled': False, 'location': 'Oakland, Guatemala, Miami, ...', 'created_at': 'Thu Mar 12 21:36:37 +0000 2009', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDFFCC', 'name': 'Lauri T.', 'statuses_count': 77793, 'profile_image_url': 'http://pbs.twimg.com/profile_images/797742765966622720/8qCnMypC_normal.jpg', 'profile_link_color': '0084B4', 'following': False, 'id': 24044018, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 63856, 'screen_name': 'laurirose', 'is_translator': False, 'description': '#LoveStillTrumpsHate. #NoH8. & Sports: @Warriors @MiamiHurricanes; Organic #garden; Dog💛; #Arts; @LtlFreeLibrary; #HumanRights; @EnviroDefenders @filmfestsbook', 'id_str': '24044018', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/24044018/1479015493', 'has_extended_profile': True, 'time_zone': None, 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'BDDCAD', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/797742765966622720/8qCnMypC_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/26349999/printable5.gif', 'profile_text_color': '333333', 'profile_background_tile': False}, 'text': \"RT @EricBoehlert: same children who'll be running Trump's businesses....and DC press mutilated Clinton Foundation over APPEARANCE of confl…\", 'entities': {'hashtags': [], 'symbols': [], 'urls': [], 'user_mentions': [{'screen_name': 'EricBoehlert', 'indices': [3, 16], 'id': 34643610, 'id_str': '34643610', 'name': 'Eric Boehlert'}]}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Tue Nov 15 01:20:00 +0000 2016', 'lang': 'en', 'source': 'Twitter Web Client ', 'contributors': None, 'id': 798334705560977408, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 527, 'coordinates': None, 'retweeted': False, 'id_str': '798334705560977408', 'quoted_status_id_str': '798300571908395008', 'truncated': False, 'quoted_status_id': 798300571908395008, 'place': None, 'favorite_count': 0, 'retweeted_status': {'geo': None, 'is_quote_status': True, 'user': {'default_profile': False, 'geo_enabled': False, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/9860779/book.jpg', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'http://t.co/QsWd6rjSG8', 'indices': [0, 22], 'display_url': 'MediaMatters.org', 'expanded_url': 'http://www.MediaMatters.org/'}]}, 'description': {'urls': []}}, 'listed_count': 2782, 'profile_background_color': '174A82', 'verified': True, 'followers_count': 66514, 'url': 'http://t.co/QsWd6rjSG8', 'friends_count': 781, 'is_translation_enabled': False, 'location': '', 'created_at': 'Thu Apr 23 15:39:39 +0000 2009', 'default_profile_image': False, 'profile_use_background_image': False, 'profile_sidebar_fill_color': 'DBE1F2', 'name': 'Eric Boehlert', 'statuses_count': 70900, 'profile_image_url': 'http://pbs.twimg.com/profile_images/606924518192324608/cTfPF0o9_normal.png', 'profile_link_color': '336699', 'following': False, 'id': 34643610, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 122, 'screen_name': 'EricBoehlert', 'is_translator': False, 'description': 'Media Matters. Author. former staffer at Salon, Rolling Stone and Billboard. Bowler. Utica Club aficionado. Opinions my own. Especially ones that offend', 'id_str': '34643610', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/34643610/1469018712', 'has_extended_profile': True, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': '336699', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/606924518192324608/cTfPF0o9_normal.png', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/9860779/book.jpg', 'profile_text_color': '000000', 'profile_background_tile': False}, 'text': \"same children who'll be running Trump's businesses....and DC press mutilated Clinton Foundation over APPEARANCE of… https://t.co/XSqQOBOJEv\", 'entities': {'hashtags': [], 'symbols': [], 'urls': [{'url': 'https://t.co/XSqQOBOJEv', 'indices': [117, 140], 'display_url': 'twitter.com/i/web/status/7…', 'expanded_url': 'https://twitter.com/i/web/status/798313794653065216'}], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Mon Nov 14 23:56:55 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'Twitter for iPhone ', 'contributors': None, 'id': 798313794653065216, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 527, 'coordinates': None, 'retweeted': False, 'id_str': '798313794653065216', 'quoted_status_id': 798300571908395008, 'quoted_status': {'geo': None, 'is_quote_status': False, 'user': {'default_profile': False, 'geo_enabled': True, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme5/bg.gif', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'https://t.co/Vf88KRCZmh', 'indices': [0, 23], 'display_url': 'n.pr/1vfWm0Q', 'expanded_url': 'http://n.pr/1vfWm0Q'}]}, 'description': {'urls': []}}, 'listed_count': 145, 'profile_background_color': '000000', 'verified': True, 'followers_count': 2306, 'url': 'https://t.co/Vf88KRCZmh', 'friends_count': 1457, 'is_translation_enabled': False, 'location': 'Washington, D.C.', 'created_at': 'Wed Jul 25 12:03:14 +0000 2007', 'default_profile_image': False, 'profile_use_background_image': False, 'profile_sidebar_fill_color': '000000', 'name': 'Steve Mullis', 'statuses_count': 14634, 'profile_image_url': 'http://pbs.twimg.com/profile_images/686600038794031106/lZruj6MS_normal.jpg', 'profile_link_color': '3B94D9', 'following': False, 'id': 7709912, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 5000, 'screen_name': 'stevemullis', 'is_translator': False, 'description': 'I dig great journalism, video games and long walks with bricks on my back. Not all at once. Digital editor at @NPR. Opinions mine. Retweets are retweets.', 'id_str': '7709912', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/7709912/1474486229', 'has_extended_profile': False, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': '000000', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/686600038794031106/lZruj6MS_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme5/bg.gif', 'profile_text_color': '000000', 'profile_background_tile': False}, 'text': 'CNN: Trump has asked for top secret clearance for eldest 3 children (sorry Tiffany) and son-in-law Jared Kushner', 'entities': {'hashtags': [], 'symbols': [], 'urls': [], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Mon Nov 14 23:04:22 +0000 2016', 'lang': 'en', 'source': 'TweetDeck ', 'contributors': None, 'id': 798300571908395008, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 311, 'coordinates': None, 'retweeted': False, 'id_str': '798300571908395008', 'truncated': False, 'place': None, 'favorite_count': 216}, 'truncated': True, 'quoted_status_id_str': '798300571908395008', 'place': None, 'favorite_count': 507}}, _api=, place=None, author=User(verified=False, utc_offset=None, entities={'url': {'urls': [{'url': 'https://t.co/KrhY5YIzjI', 'indices': [0, 23], 'display_url': 'lauritanner.com', 'expanded_url': 'http://lauritanner.com'}]}, 'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/24044018/1479015493', followers_count=1914, url='https://t.co/KrhY5YIzjI', is_translation_enabled=False, location='Oakland, Guatemala, Miami, ...', created_at=datetime.datetime(2009, 3, 12, 21, 36, 37), default_profile_image=False, profile_use_background_image=True, statuses_count=77793, protected=False, favourites_count=63856, profile_background_color='E0C172', is_translator=False, profile_text_color='333333', profile_link_color='0084B4', _json={'default_profile': False, 'geo_enabled': False, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/26349999/printable5.gif', 'utc_offset': None, 'entities': {'url': {'urls': [{'url': 'https://t.co/KrhY5YIzjI', 'indices': [0, 23], 'display_url': 'lauritanner.com', 'expanded_url': 'http://lauritanner.com'}]}, 'description': {'urls': []}}, 'listed_count': 69, 'profile_background_color': 'E0C172', 'verified': False, 'followers_count': 1914, 'url': 'https://t.co/KrhY5YIzjI', 'friends_count': 3025, 'is_translation_enabled': False, 'location': 'Oakland, Guatemala, Miami, ...', 'created_at': 'Thu Mar 12 21:36:37 +0000 2009', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDFFCC', 'name': 'Lauri T.', 'statuses_count': 77793, 'profile_image_url': 'http://pbs.twimg.com/profile_images/797742765966622720/8qCnMypC_normal.jpg', 'profile_link_color': '0084B4', 'following': False, 'id': 24044018, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 63856, 'screen_name': 'laurirose', 'is_translator': False, 'description': '#LoveStillTrumpsHate. #NoH8. & Sports: @Warriors @MiamiHurricanes; Organic #garden; Dog💛; #Arts; @LtlFreeLibrary; #HumanRights; @EnviroDefenders @filmfestsbook', 'id_str': '24044018', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/24044018/1479015493', 'has_extended_profile': True, 'time_zone': None, 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'BDDCAD', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/797742765966622720/8qCnMypC_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/26349999/printable5.gif', 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/797742765966622720/8qCnMypC_normal.jpg', profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/26349999/printable5.gif', profile_background_tile=False, default_profile=False, geo_enabled=False, profile_background_image_url='http://pbs.twimg.com/profile_background_images/26349999/printable5.gif', time_zone=None, listed_count=69, following=False, friends_count=3025, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDFFCC', name='Lauri T.', profile_image_url='http://pbs.twimg.com/profile_images/797742765966622720/8qCnMypC_normal.jpg', id=24044018, lang='en', description='#LoveStillTrumpsHate. #NoH8. & Sports: @Warriors @MiamiHurricanes; Organic #garden; Dog💛; #Arts; @LtlFreeLibrary; #HumanRights; @EnviroDefenders @filmfestsbook', id_str='24044018', has_extended_profile=True, screen_name='laurirose', profile_sidebar_border_color='BDDCAD')), Status(geo=None, is_quote_status=False, user=User(verified=False, utc_offset=-21600, entities={'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/82001222/1461858601', followers_count=773, url=None, is_translation_enabled=False, location='Puebla', created_at=datetime.datetime(2009, 10, 13, 3, 28, 24), default_profile_image=False, profile_use_background_image=True, statuses_count=9203, protected=False, favourites_count=3677, profile_background_color='C0DEED', is_translator=False, profile_text_color='333333', profile_link_color='1DA1F2', _json={'default_profile': True, 'geo_enabled': True, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'utc_offset': -21600, 'entities': {'description': {'urls': []}}, 'listed_count': 18, 'profile_background_color': 'C0DEED', 'verified': False, 'followers_count': 773, 'url': None, 'friends_count': 821, 'is_translation_enabled': False, 'location': 'Puebla', 'created_at': 'Tue Oct 13 03:28:24 +0000 2009', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Leobardo Rodriguez J', 'statuses_count': 9203, 'profile_image_url': 'http://pbs.twimg.com/profile_images/687664427135414272/SSx_Sgjb_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 82001222, 'protected': False, 'lang': 'es', 'notifications': False, 'favourites_count': 3677, 'screen_name': 'leobardorj', 'is_translator': False, 'description': 'Economista egresado de la UPAEP, maestro en Admón Pública y Política Pública (ITESM), apasionado de México, mi mayor orgullo es PUEBLA, 100% Chiva !!', 'id_str': '82001222', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/82001222/1461858601', 'has_extended_profile': True, 'time_zone': 'Central Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/687664427135414272/SSx_Sgjb_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/687664427135414272/SSx_Sgjb_normal.jpg', profile_background_image_url_https='https://abs.twimg.com/images/themes/theme1/bg.png', profile_background_tile=False, default_profile=True, geo_enabled=True, profile_background_image_url='http://abs.twimg.com/images/themes/theme1/bg.png', time_zone='Central Time (US & Canada)', listed_count=18, following=False, friends_count=821, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='Leobardo Rodriguez J', profile_image_url='http://pbs.twimg.com/profile_images/687664427135414272/SSx_Sgjb_normal.jpg', id=82001222, lang='es', description='Economista egresado de la UPAEP, maestro en Admón Pública y Política Pública (ITESM), apasionado de México, mi mayor orgullo es PUEBLA, 100% Chiva !!', id_str='82001222', has_extended_profile=True, screen_name='leobardorj', profile_sidebar_border_color='C0DEED'), text='RT @thehill: Clinton wins New Hampshire https://t.co/DeH75d9N94 https://t.co/poUn2vJ27t', entities={'hashtags': [], 'symbols': [], 'urls': [{'url': 'https://t.co/DeH75d9N94', 'indices': [40, 63], 'display_url': 'hill.cm/yMcWphA', 'expanded_url': 'http://hill.cm/yMcWphA'}], 'media': [{'source_status_id_str': '798333726400937984', 'id': 798333724383395840, 'media_url_https': 'https://pbs.twimg.com/media/CxRASuYWQAAxcFY.jpg', 'id_str': '798333724383395840', 'type': 'photo', 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 360, 'w': 640}, 'large': {'resize': 'fit', 'h': 360, 'w': 640}, 'medium': {'resize': 'fit', 'h': 360, 'w': 640}}, 'source_status_id': 798333726400937984, 'url': 'https://t.co/poUn2vJ27t', 'media_url': 'http://pbs.twimg.com/media/CxRASuYWQAAxcFY.jpg', 'source_user_id': 1917731, 'source_user_id_str': '1917731', 'indices': [64, 87], 'display_url': 'pic.twitter.com/poUn2vJ27t', 'expanded_url': 'https://twitter.com/thehill/status/798333726400937984/photo/1'}], 'user_mentions': [{'screen_name': 'thehill', 'indices': [3, 11], 'id': 1917731, 'id_str': '1917731', 'name': 'The Hill'}]}, possibly_sensitive=False, retweeted_status=Status(geo=None, is_quote_status=False, user=User(verified=True, utc_offset=-18000, entities={'url': {'urls': [{'url': 'http://t.co/t414UtTRv4', 'indices': [0, 22], 'display_url': 'thehill.com', 'expanded_url': 'http://www.thehill.com'}]}, 'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/1917731/1434034905', followers_count=1491873, url='http://t.co/t414UtTRv4', is_translation_enabled=False, location='Washington, DC', created_at=datetime.datetime(2007, 3, 22, 18, 15, 18), default_profile_image=False, profile_use_background_image=True, statuses_count=248854, protected=False, favourites_count=26, profile_background_color='9AE4E8', is_translator=False, profile_text_color='000000', profile_link_color='FF0021', _json={'default_profile': False, 'geo_enabled': False, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/2509428/twitter_bg.gif', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'http://t.co/t414UtTRv4', 'indices': [0, 22], 'display_url': 'thehill.com', 'expanded_url': 'http://www.thehill.com'}]}, 'description': {'urls': []}}, 'listed_count': 18171, 'profile_background_color': '9AE4E8', 'verified': True, 'followers_count': 1491873, 'url': 'http://t.co/t414UtTRv4', 'friends_count': 631, 'is_translation_enabled': False, 'location': 'Washington, DC', 'created_at': 'Thu Mar 22 18:15:18 +0000 2007', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'EBEBEB', 'name': 'The Hill', 'statuses_count': 248854, 'profile_image_url': 'http://pbs.twimg.com/profile_images/718186698824413184/H1qUtJzN_normal.jpg', 'profile_link_color': 'FF0021', 'following': False, 'id': 1917731, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 26, 'screen_name': 'thehill', 'is_translator': False, 'description': \"The Hill is the premier source for policy and political news. Follow for tweets on what's happening in Washington, breaking news and retweets of our reporters.\", 'id_str': '1917731', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/1917731/1434034905', 'has_extended_profile': False, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'ADADAA', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/718186698824413184/H1qUtJzN_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/2509428/twitter_bg.gif', 'profile_text_color': '000000', 'profile_background_tile': True}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/718186698824413184/H1qUtJzN_normal.jpg', profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/2509428/twitter_bg.gif', profile_background_tile=True, default_profile=False, geo_enabled=False, profile_background_image_url='http://pbs.twimg.com/profile_background_images/2509428/twitter_bg.gif', time_zone='Eastern Time (US & Canada)', listed_count=18171, following=False, friends_count=631, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='EBEBEB', name='The Hill', profile_image_url='http://pbs.twimg.com/profile_images/718186698824413184/H1qUtJzN_normal.jpg', id=1917731, lang='en', description=\"The Hill is the premier source for policy and political news. Follow for tweets on what's happening in Washington, breaking news and retweets of our reporters.\", id_str='1917731', has_extended_profile=False, screen_name='thehill', profile_sidebar_border_color='ADADAA'), text='Clinton wins New Hampshire https://t.co/DeH75d9N94 https://t.co/poUn2vJ27t', entities={'hashtags': [], 'symbols': [], 'urls': [{'url': 'https://t.co/DeH75d9N94', 'indices': [27, 50], 'display_url': 'hill.cm/yMcWphA', 'expanded_url': 'http://hill.cm/yMcWphA'}], 'media': [{'url': 'https://t.co/poUn2vJ27t', 'media_url': 'http://pbs.twimg.com/media/CxRASuYWQAAxcFY.jpg', 'id': 798333724383395840, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 360, 'w': 640}, 'large': {'resize': 'fit', 'h': 360, 'w': 640}, 'medium': {'resize': 'fit', 'h': 360, 'w': 640}}, 'media_url_https': 'https://pbs.twimg.com/media/CxRASuYWQAAxcFY.jpg', 'indices': [51, 74], 'display_url': 'pic.twitter.com/poUn2vJ27t', 'type': 'photo', 'id_str': '798333724383395840', 'expanded_url': 'https://twitter.com/thehill/status/798333726400937984/photo/1'}], 'user_mentions': []}, possibly_sensitive=False, in_reply_to_status_id=None, contributors=None, in_reply_to_screen_name=None, created_at=datetime.datetime(2016, 11, 15, 1, 16, 7), favorite_count=25, source_url='http://www.socialflow.com', metadata={'iso_language_code': 'en', 'result_type': 'recent'}, source='SocialFlow', in_reply_to_status_id_str=None, extended_entities={'media': [{'url': 'https://t.co/poUn2vJ27t', 'media_url': 'http://pbs.twimg.com/media/CxRASuYWQAAxcFY.jpg', 'id': 798333724383395840, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 360, 'w': 640}, 'large': {'resize': 'fit', 'h': 360, 'w': 640}, 'medium': {'resize': 'fit', 'h': 360, 'w': 640}}, 'media_url_https': 'https://pbs.twimg.com/media/CxRASuYWQAAxcFY.jpg', 'indices': [51, 74], 'display_url': 'pic.twitter.com/poUn2vJ27t', 'type': 'photo', 'id_str': '798333724383395840', 'expanded_url': 'https://twitter.com/thehill/status/798333726400937984/photo/1'}]}, id=798333726400937984, in_reply_to_user_id=None, lang='en', in_reply_to_user_id_str=None, retweet_count=9, coordinates=None, retweeted=False, id_str='798333726400937984', truncated=False, favorited=False, _json={'geo': None, 'is_quote_status': False, 'user': {'default_profile': False, 'geo_enabled': False, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/2509428/twitter_bg.gif', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'http://t.co/t414UtTRv4', 'indices': [0, 22], 'display_url': 'thehill.com', 'expanded_url': 'http://www.thehill.com'}]}, 'description': {'urls': []}}, 'listed_count': 18171, 'profile_background_color': '9AE4E8', 'verified': True, 'followers_count': 1491873, 'url': 'http://t.co/t414UtTRv4', 'friends_count': 631, 'is_translation_enabled': False, 'location': 'Washington, DC', 'created_at': 'Thu Mar 22 18:15:18 +0000 2007', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'EBEBEB', 'name': 'The Hill', 'statuses_count': 248854, 'profile_image_url': 'http://pbs.twimg.com/profile_images/718186698824413184/H1qUtJzN_normal.jpg', 'profile_link_color': 'FF0021', 'following': False, 'id': 1917731, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 26, 'screen_name': 'thehill', 'is_translator': False, 'description': \"The Hill is the premier source for policy and political news. Follow for tweets on what's happening in Washington, breaking news and retweets of our reporters.\", 'id_str': '1917731', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/1917731/1434034905', 'has_extended_profile': False, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'ADADAA', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/718186698824413184/H1qUtJzN_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/2509428/twitter_bg.gif', 'profile_text_color': '000000', 'profile_background_tile': True}, 'text': 'Clinton wins New Hampshire https://t.co/DeH75d9N94 https://t.co/poUn2vJ27t', 'entities': {'hashtags': [], 'symbols': [], 'urls': [{'url': 'https://t.co/DeH75d9N94', 'indices': [27, 50], 'display_url': 'hill.cm/yMcWphA', 'expanded_url': 'http://hill.cm/yMcWphA'}], 'media': [{'url': 'https://t.co/poUn2vJ27t', 'media_url': 'http://pbs.twimg.com/media/CxRASuYWQAAxcFY.jpg', 'id': 798333724383395840, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 360, 'w': 640}, 'large': {'resize': 'fit', 'h': 360, 'w': 640}, 'medium': {'resize': 'fit', 'h': 360, 'w': 640}}, 'media_url_https': 'https://pbs.twimg.com/media/CxRASuYWQAAxcFY.jpg', 'indices': [51, 74], 'display_url': 'pic.twitter.com/poUn2vJ27t', 'type': 'photo', 'id_str': '798333724383395840', 'expanded_url': 'https://twitter.com/thehill/status/798333726400937984/photo/1'}], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Tue Nov 15 01:16:07 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'SocialFlow ', 'contributors': None, 'extended_entities': {'media': [{'url': 'https://t.co/poUn2vJ27t', 'media_url': 'http://pbs.twimg.com/media/CxRASuYWQAAxcFY.jpg', 'id': 798333724383395840, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 360, 'w': 640}, 'large': {'resize': 'fit', 'h': 360, 'w': 640}, 'medium': {'resize': 'fit', 'h': 360, 'w': 640}}, 'media_url_https': 'https://pbs.twimg.com/media/CxRASuYWQAAxcFY.jpg', 'indices': [51, 74], 'display_url': 'pic.twitter.com/poUn2vJ27t', 'type': 'photo', 'id_str': '798333724383395840', 'expanded_url': 'https://twitter.com/thehill/status/798333726400937984/photo/1'}]}, 'id': 798333726400937984, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 9, 'coordinates': None, 'retweeted': False, 'id_str': '798333726400937984', 'truncated': False, 'place': None, 'favorite_count': 25}, _api=, place=None, author=User(verified=True, utc_offset=-18000, entities={'url': {'urls': [{'url': 'http://t.co/t414UtTRv4', 'indices': [0, 22], 'display_url': 'thehill.com', 'expanded_url': 'http://www.thehill.com'}]}, 'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/1917731/1434034905', followers_count=1491873, url='http://t.co/t414UtTRv4', is_translation_enabled=False, location='Washington, DC', created_at=datetime.datetime(2007, 3, 22, 18, 15, 18), default_profile_image=False, profile_use_background_image=True, statuses_count=248854, protected=False, favourites_count=26, profile_background_color='9AE4E8', is_translator=False, profile_text_color='000000', profile_link_color='FF0021', _json={'default_profile': False, 'geo_enabled': False, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/2509428/twitter_bg.gif', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'http://t.co/t414UtTRv4', 'indices': [0, 22], 'display_url': 'thehill.com', 'expanded_url': 'http://www.thehill.com'}]}, 'description': {'urls': []}}, 'listed_count': 18171, 'profile_background_color': '9AE4E8', 'verified': True, 'followers_count': 1491873, 'url': 'http://t.co/t414UtTRv4', 'friends_count': 631, 'is_translation_enabled': False, 'location': 'Washington, DC', 'created_at': 'Thu Mar 22 18:15:18 +0000 2007', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'EBEBEB', 'name': 'The Hill', 'statuses_count': 248854, 'profile_image_url': 'http://pbs.twimg.com/profile_images/718186698824413184/H1qUtJzN_normal.jpg', 'profile_link_color': 'FF0021', 'following': False, 'id': 1917731, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 26, 'screen_name': 'thehill', 'is_translator': False, 'description': \"The Hill is the premier source for policy and political news. Follow for tweets on what's happening in Washington, breaking news and retweets of our reporters.\", 'id_str': '1917731', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/1917731/1434034905', 'has_extended_profile': False, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'ADADAA', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/718186698824413184/H1qUtJzN_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/2509428/twitter_bg.gif', 'profile_text_color': '000000', 'profile_background_tile': True}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/718186698824413184/H1qUtJzN_normal.jpg', profile_background_image_url_https='https://pbs.twimg.com/profile_background_images/2509428/twitter_bg.gif', profile_background_tile=True, default_profile=False, geo_enabled=False, profile_background_image_url='http://pbs.twimg.com/profile_background_images/2509428/twitter_bg.gif', time_zone='Eastern Time (US & Canada)', listed_count=18171, following=False, friends_count=631, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='EBEBEB', name='The Hill', profile_image_url='http://pbs.twimg.com/profile_images/718186698824413184/H1qUtJzN_normal.jpg', id=1917731, lang='en', description=\"The Hill is the premier source for policy and political news. Follow for tweets on what's happening in Washington, breaking news and retweets of our reporters.\", id_str='1917731', has_extended_profile=False, screen_name='thehill', profile_sidebar_border_color='ADADAA')), in_reply_to_status_id=None, contributors=None, in_reply_to_screen_name=None, created_at=datetime.datetime(2016, 11, 15, 1, 20), favorite_count=0, source_url='http://twitter.com/download/iphone', metadata={'iso_language_code': 'en', 'result_type': 'recent'}, source='Twitter for iPhone', in_reply_to_status_id_str=None, extended_entities={'media': [{'source_status_id_str': '798333726400937984', 'id': 798333724383395840, 'media_url_https': 'https://pbs.twimg.com/media/CxRASuYWQAAxcFY.jpg', 'id_str': '798333724383395840', 'type': 'photo', 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 360, 'w': 640}, 'large': {'resize': 'fit', 'h': 360, 'w': 640}, 'medium': {'resize': 'fit', 'h': 360, 'w': 640}}, 'source_status_id': 798333726400937984, 'url': 'https://t.co/poUn2vJ27t', 'media_url': 'http://pbs.twimg.com/media/CxRASuYWQAAxcFY.jpg', 'source_user_id': 1917731, 'source_user_id_str': '1917731', 'indices': [64, 87], 'display_url': 'pic.twitter.com/poUn2vJ27t', 'expanded_url': 'https://twitter.com/thehill/status/798333726400937984/photo/1'}]}, id=798334704655081472, in_reply_to_user_id=None, lang='en', in_reply_to_user_id_str=None, retweet_count=9, coordinates=None, retweeted=False, id_str='798334704655081472', truncated=False, favorited=False, _json={'geo': None, 'is_quote_status': False, 'user': {'default_profile': True, 'geo_enabled': True, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'utc_offset': -21600, 'entities': {'description': {'urls': []}}, 'listed_count': 18, 'profile_background_color': 'C0DEED', 'verified': False, 'followers_count': 773, 'url': None, 'friends_count': 821, 'is_translation_enabled': False, 'location': 'Puebla', 'created_at': 'Tue Oct 13 03:28:24 +0000 2009', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Leobardo Rodriguez J', 'statuses_count': 9203, 'profile_image_url': 'http://pbs.twimg.com/profile_images/687664427135414272/SSx_Sgjb_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 82001222, 'protected': False, 'lang': 'es', 'notifications': False, 'favourites_count': 3677, 'screen_name': 'leobardorj', 'is_translator': False, 'description': 'Economista egresado de la UPAEP, maestro en Admón Pública y Política Pública (ITESM), apasionado de México, mi mayor orgullo es PUEBLA, 100% Chiva !!', 'id_str': '82001222', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/82001222/1461858601', 'has_extended_profile': True, 'time_zone': 'Central Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/687664427135414272/SSx_Sgjb_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_text_color': '333333', 'profile_background_tile': False}, 'text': 'RT @thehill: Clinton wins New Hampshire https://t.co/DeH75d9N94 https://t.co/poUn2vJ27t', 'entities': {'hashtags': [], 'symbols': [], 'urls': [{'url': 'https://t.co/DeH75d9N94', 'indices': [40, 63], 'display_url': 'hill.cm/yMcWphA', 'expanded_url': 'http://hill.cm/yMcWphA'}], 'media': [{'source_status_id_str': '798333726400937984', 'id': 798333724383395840, 'media_url_https': 'https://pbs.twimg.com/media/CxRASuYWQAAxcFY.jpg', 'id_str': '798333724383395840', 'type': 'photo', 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 360, 'w': 640}, 'large': {'resize': 'fit', 'h': 360, 'w': 640}, 'medium': {'resize': 'fit', 'h': 360, 'w': 640}}, 'source_status_id': 798333726400937984, 'url': 'https://t.co/poUn2vJ27t', 'media_url': 'http://pbs.twimg.com/media/CxRASuYWQAAxcFY.jpg', 'source_user_id': 1917731, 'source_user_id_str': '1917731', 'indices': [64, 87], 'display_url': 'pic.twitter.com/poUn2vJ27t', 'expanded_url': 'https://twitter.com/thehill/status/798333726400937984/photo/1'}], 'user_mentions': [{'screen_name': 'thehill', 'indices': [3, 11], 'id': 1917731, 'id_str': '1917731', 'name': 'The Hill'}]}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Tue Nov 15 01:20:00 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'Twitter for iPhone ', 'contributors': None, 'extended_entities': {'media': [{'source_status_id_str': '798333726400937984', 'id': 798333724383395840, 'media_url_https': 'https://pbs.twimg.com/media/CxRASuYWQAAxcFY.jpg', 'id_str': '798333724383395840', 'type': 'photo', 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 360, 'w': 640}, 'large': {'resize': 'fit', 'h': 360, 'w': 640}, 'medium': {'resize': 'fit', 'h': 360, 'w': 640}}, 'source_status_id': 798333726400937984, 'url': 'https://t.co/poUn2vJ27t', 'media_url': 'http://pbs.twimg.com/media/CxRASuYWQAAxcFY.jpg', 'source_user_id': 1917731, 'source_user_id_str': '1917731', 'indices': [64, 87], 'display_url': 'pic.twitter.com/poUn2vJ27t', 'expanded_url': 'https://twitter.com/thehill/status/798333726400937984/photo/1'}]}, 'id': 798334704655081472, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 9, 'coordinates': None, 'retweeted': False, 'id_str': '798334704655081472', 'truncated': False, 'place': None, 'favorite_count': 0, 'retweeted_status': {'geo': None, 'is_quote_status': False, 'user': {'default_profile': False, 'geo_enabled': False, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/2509428/twitter_bg.gif', 'utc_offset': -18000, 'entities': {'url': {'urls': [{'url': 'http://t.co/t414UtTRv4', 'indices': [0, 22], 'display_url': 'thehill.com', 'expanded_url': 'http://www.thehill.com'}]}, 'description': {'urls': []}}, 'listed_count': 18171, 'profile_background_color': '9AE4E8', 'verified': True, 'followers_count': 1491873, 'url': 'http://t.co/t414UtTRv4', 'friends_count': 631, 'is_translation_enabled': False, 'location': 'Washington, DC', 'created_at': 'Thu Mar 22 18:15:18 +0000 2007', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'EBEBEB', 'name': 'The Hill', 'statuses_count': 248854, 'profile_image_url': 'http://pbs.twimg.com/profile_images/718186698824413184/H1qUtJzN_normal.jpg', 'profile_link_color': 'FF0021', 'following': False, 'id': 1917731, 'protected': False, 'lang': 'en', 'notifications': False, 'favourites_count': 26, 'screen_name': 'thehill', 'is_translator': False, 'description': \"The Hill is the premier source for policy and political news. Follow for tweets on what's happening in Washington, breaking news and retweets of our reporters.\", 'id_str': '1917731', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/1917731/1434034905', 'has_extended_profile': False, 'time_zone': 'Eastern Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'ADADAA', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/718186698824413184/H1qUtJzN_normal.jpg', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/2509428/twitter_bg.gif', 'profile_text_color': '000000', 'profile_background_tile': True}, 'text': 'Clinton wins New Hampshire https://t.co/DeH75d9N94 https://t.co/poUn2vJ27t', 'entities': {'hashtags': [], 'symbols': [], 'urls': [{'url': 'https://t.co/DeH75d9N94', 'indices': [27, 50], 'display_url': 'hill.cm/yMcWphA', 'expanded_url': 'http://hill.cm/yMcWphA'}], 'media': [{'url': 'https://t.co/poUn2vJ27t', 'media_url': 'http://pbs.twimg.com/media/CxRASuYWQAAxcFY.jpg', 'id': 798333724383395840, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 360, 'w': 640}, 'large': {'resize': 'fit', 'h': 360, 'w': 640}, 'medium': {'resize': 'fit', 'h': 360, 'w': 640}}, 'media_url_https': 'https://pbs.twimg.com/media/CxRASuYWQAAxcFY.jpg', 'indices': [51, 74], 'display_url': 'pic.twitter.com/poUn2vJ27t', 'type': 'photo', 'id_str': '798333724383395840', 'expanded_url': 'https://twitter.com/thehill/status/798333726400937984/photo/1'}], 'user_mentions': []}, 'favorited': False, 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_screen_name': None, 'created_at': 'Tue Nov 15 01:16:07 +0000 2016', 'possibly_sensitive': False, 'lang': 'en', 'source': 'SocialFlow ', 'contributors': None, 'extended_entities': {'media': [{'url': 'https://t.co/poUn2vJ27t', 'media_url': 'http://pbs.twimg.com/media/CxRASuYWQAAxcFY.jpg', 'id': 798333724383395840, 'sizes': {'thumb': {'resize': 'crop', 'h': 150, 'w': 150}, 'small': {'resize': 'fit', 'h': 360, 'w': 640}, 'large': {'resize': 'fit', 'h': 360, 'w': 640}, 'medium': {'resize': 'fit', 'h': 360, 'w': 640}}, 'media_url_https': 'https://pbs.twimg.com/media/CxRASuYWQAAxcFY.jpg', 'indices': [51, 74], 'display_url': 'pic.twitter.com/poUn2vJ27t', 'type': 'photo', 'id_str': '798333724383395840', 'expanded_url': 'https://twitter.com/thehill/status/798333726400937984/photo/1'}]}, 'id': 798333726400937984, 'in_reply_to_user_id': None, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'in_reply_to_user_id_str': None, 'retweet_count': 9, 'coordinates': None, 'retweeted': False, 'id_str': '798333726400937984', 'truncated': False, 'place': None, 'favorite_count': 25}}, _api=, place=None, author=User(verified=False, utc_offset=-21600, entities={'description': {'urls': []}}, profile_banner_url='https://pbs.twimg.com/profile_banners/82001222/1461858601', followers_count=773, url=None, is_translation_enabled=False, location='Puebla', created_at=datetime.datetime(2009, 10, 13, 3, 28, 24), default_profile_image=False, profile_use_background_image=True, statuses_count=9203, protected=False, favourites_count=3677, profile_background_color='C0DEED', is_translator=False, profile_text_color='333333', profile_link_color='1DA1F2', _json={'default_profile': True, 'geo_enabled': True, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'utc_offset': -21600, 'entities': {'description': {'urls': []}}, 'listed_count': 18, 'profile_background_color': 'C0DEED', 'verified': False, 'followers_count': 773, 'url': None, 'friends_count': 821, 'is_translation_enabled': False, 'location': 'Puebla', 'created_at': 'Tue Oct 13 03:28:24 +0000 2009', 'default_profile_image': False, 'profile_use_background_image': True, 'profile_sidebar_fill_color': 'DDEEF6', 'name': 'Leobardo Rodriguez J', 'statuses_count': 9203, 'profile_image_url': 'http://pbs.twimg.com/profile_images/687664427135414272/SSx_Sgjb_normal.jpg', 'profile_link_color': '1DA1F2', 'following': False, 'id': 82001222, 'protected': False, 'lang': 'es', 'notifications': False, 'favourites_count': 3677, 'screen_name': 'leobardorj', 'is_translator': False, 'description': 'Economista egresado de la UPAEP, maestro en Admón Pública y Política Pública (ITESM), apasionado de México, mi mayor orgullo es PUEBLA, 100% Chiva !!', 'id_str': '82001222', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/82001222/1461858601', 'has_extended_profile': True, 'time_zone': 'Central Time (US & Canada)', 'follow_request_sent': False, 'contributors_enabled': False, 'translator_type': 'none', 'profile_sidebar_border_color': 'C0DEED', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/687664427135414272/SSx_Sgjb_normal.jpg', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_text_color': '333333', 'profile_background_tile': False}, translator_type='none', profile_image_url_https='https://pbs.twimg.com/profile_images/687664427135414272/SSx_Sgjb_normal.jpg', profile_background_image_url_https='https://abs.twimg.com/images/themes/theme1/bg.png', profile_background_tile=False, default_profile=True, geo_enabled=True, profile_background_image_url='http://abs.twimg.com/images/themes/theme1/bg.png', time_zone='Central Time (US & Canada)', listed_count=18, following=False, friends_count=821, follow_request_sent=False, contributors_enabled=False, _api=, notifications=False, profile_sidebar_fill_color='DDEEF6', name='Leobardo Rodriguez J', profile_image_url='http://pbs.twimg.com/profile_images/687664427135414272/SSx_Sgjb_normal.jpg', id=82001222, lang='es', description='Economista egresado de la UPAEP, maestro en Admón Pública y Política Pública (ITESM), apasionado de México, mi mayor orgullo es PUEBLA, 100% Chiva !!', id_str='82001222', has_extended_profile=True, screen_name='leobardorj', profile_sidebar_border_color='C0DEED'))]\n"
- ]
- }
- ],
- "source": [
- "print(results1)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Remember from last time that each status has a `_json` attribute that contains a portion of data similar to a Python dictionary. We will be analyzing these sub-dictionaries for data.\n",
- "\n",
- "In the next block of code, we will want to put the `_json` dictionary from the status into a list that corresponds with the query."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 52,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Get the JSON portion from each result\n",
- "# Remember: JSON is like a Python dictionary. Store these dictionaries to lists.\n",
- "lst_1 = []\n",
- "for i in range(len(results1)):\n",
- " status = results1[i] # What variable do we want to use to index in the list?\n",
- " dictionary = status._json\n",
- " lst_1.append(dictionary) # What function would we use to add the dictionary to the list?\n",
- " \n",
- "lst_2 = []\n",
- "for i in range(len(results2)):\n",
- " status = results2[i] # Same as above\n",
- " dictionary = status._json\n",
- " lst_2.append(dictionary) # Same as above"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "We now have a list of results for both queries. Let's look at how many retweets each tweet has:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 53,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Hillary's retweets: [ 467 3334 7 12477 9356 2 2 265 1062 238 9353 167\n",
- " 2 527 9]\n",
- "Donald's retweets: [ 7 890 0 0 198 42 0 0 0 629 157 44 8 167 386]\n"
- ]
- },
- {
- "data": {
- "text/plain": [
- "[, ]"
- ]
- },
- "execution_count": 53,
- "metadata": {},
- "output_type": "execute_result"
- },
- {
- "data": {
- "image/png": "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\nk7/VdwAAAABJRU5ErkJggg==\n",
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
- "source": [
- "retweets1 = []\n",
- "retweets2 = []\n",
- "\n",
- "for item in lst_1:\n",
- " # Access the value that corresponds with the \"retweet_count\" key in the dictionary\n",
- " # Add that value to the list\n",
- " retweets1.append(item[\"retweet_count\"])\n",
- "\n",
- "for item in lst_2:\n",
- " retweets2.append(item[\"retweet_count\"])\n",
- "\n",
- "retweets1 = np.array(retweets1) # Create array\n",
- "retweets2 = np.array(retweets2)\n",
- "\n",
- "print(\"Hillary's retweets: \" + str(retweets1))\n",
- "print(\"Donald's retweets: \" + str(retweets2))\n",
- "\n",
- "# Boxplot of retweets of tweets, by candidate\n",
- "fig, axis = plt.subplots()\n",
- "plt.boxplot([retweets1, retweets2], showfliers=False)\n",
- "plt.title(\"Retweets of tweets about candidates\") # Setting title\n",
- "axis.set_xticklabels([\"Hillary\", \"Donald\"])"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Now let's compare how active on Twitter Hillary tweeters are vs. Donald tweeters. Let's look at two data points: the number of tweets on a user's page and the number of followers a user has.\n",
- "\n",
- "We will graph the results for Hillary in blue, and Donald in red."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 54,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- ""
- ]
- },
- "execution_count": 54,
- "metadata": {},
- "output_type": "execute_result"
- },
- {
- "data": {
- "image/png": "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\na9asIT09nauuuqrM8m+99RYLFy4kLy+PyZMns2nTJlauXMmGDRt47LHHSE1N3WObTz31FG3btmX6\n9Ols3ryZm2++mV69epXZfx06dOCtt96Kvu7ZsycA8+bNY8SIEfz5z39mw4YNXHbZZQwYMIDi4mJK\nSkro378/Xbt2ZfXq1cyePZvx48cza9Ys+vXrF3fflt83BQUFHHvssRQWFnLLLbcwYsSI6LRf/vKX\nnHzyyWzYsIHc3Fyefvrpve7XkpISRowYwYoVK1ixYgWpqalcffXV0enuzpNPPslf/vIX1qxZQ0pK\nCtdeey0AixYt4pe//CUTJkxg/fr1/PSnP6V///7s3Lkz7rb29Zk64ogj4i6zv1phRWsvKSkpPPTQ\nQxQWFvLuu+8ye/bs6ElAqZdffpmCggIWLFjA8OHDmTp1anT769evZ/bs2VxwwQX73VYiKZnUMvPn\nR2olW7dCcXHk7/jxZWse5RNDcXEkoZT68EMYMgTWrIkknVmzYOjQ8LH16tWLOXPmsGvXLubPn8+1\n117LnDlz+P7775k7d270YAi7v8jxvtDlb6u9bt06Xn31VcaNG0dqaiotW7bkuuuu47nnnovOk5WV\nxVVXXUWdOnVo2LBh3Pj2dvCoW7cu27dv59NPP6W4uJi2bdvSoUMHAB577DHuvvtusrKyqFevHmPG\njOFvf/tbtFYEkX6I1NRUGjZsSP369SksLGTx4sWYGV27diUtLa1C+69nz5688847uDtvv/02t9xy\nC//3f/8HRJJJr169APjf//1fLrvsMk466STMjIsuuogGDRrw7rvv8u9//5v169czevRoUlJSaN++\nPf/93/8d3VcVuWV5u3btGDFiRHTda9as4euvv2bFihXMnTuXO++8k5SUFHr06MGAAQP2ur6MjAwG\nDRpEw4YNady4MaNGjWLOnDnR6aXr79KlC40aNeKuu+7ihRdeoKSkhOeff55zzjmHM888k7p163LT\nTTdRVFTEv/71r73Gva/PVLx5//jHP5Kenh4djjvuuD2SR0XWdcIJJ9CtWzfq1KlDu3btuPTSS8u8\nT4CRI0fSrFkzGjRowEknnUTTpk2jHfjPPfccZ5xxBi1bttzvthJJyaSW2bAB6tUrW1a/PsS0DnDe\neRB7MtyoEQwcuPv17Nmwa9fu19u3R8rCKj2z/uCDD/jRj37EWWedxZw5c3j//ffp2LEj6enpB7Xe\n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\n77/3jz76yBs0aOALFy50d/f//Oc//v777/uuXbt82bJl3rlzZx8/fnx0O7HxDx482AcPHuzbtm3z\nTz75xFu3bu2nn3563LiTPpkky6BkUlbc/fHRR5EEEJss6tcvW/PIzCw7HdyvvXb39Hnz3FNTd09r\n0MD9pz89qBhjD4h33HGHX3vttb5z504/4ogjfMKECX7bbbd5UVGRp6amRs86Y7/I5WsI7u5jxowp\nc7a7du1ab9CgQZkk8eyzz/oZZ5zh7pEDYNu2bfcZZ/mDR+x2Fy9e7Icffri//vrrZc4e3d07d+5c\n5oC/evVqr1evnu/atSt6QPnyyy+j05944ok9agp7Uz6ZLFmyxNPT072kpMQvv/xyf+yxx6IxXnTR\nRT5u3Dh3d7/88sv3qH0dc8wxPmfOHH/vvff22Be///3v/Ve/+pW777lv3fdMJh07doxO27p1q5uZ\nr1u3zpcvX+4pKSll/g8XXnjhXmsm5c2bN8/T09PLbHfkyJHR15999pnXr1/fd+3a5XfeeWf0oO4e\nqSW0bt3a58yZ4+7xk8m+PlPl7S2Z3Hrrrd6nTx93d//JT37iEydOjE77/PPP9/jfr1q1Kjq9W7du\n/txzz8Xd3rhx43zQoEHR16Xx79y50+vVq+eff/55dNqoUaOSsmaiX8DXNkn83F49tleP7Y2VzI/t\n3ZtVq1aRkRG5yHTNmjW0a7f7t9Vt27Zl586dZf735ffV1q1bgYo9yhciD1vbuXPnHvshGSmZ1DZJ\n/NxePbZXj+2NleyP7S0/35YtW3j99dejl+VmZWWxbNmyMvGlpKTQqlWr/a67Io/yBWjZsiUpKSl7\n7IdkpGRS2yTxc3v12F49tjdWsj+2t3QfbN++nf/85z8MHDiQ5s2b86tf/QqInGCMGzeOZcuWsWXL\nFkaNGsWQIUMqlJAr+ijfunXrct5555Gbm0tRURGfffYZU6ZMqZJLpsNSMqmNkvi5vXpsrx7bWyrZ\nH9v7wAMP0KRJE1q0aMHw4cM56aST+Ne//kVq0ER8ySWXMGzYMHr27EmHDh1o1KgR/xNz0rWvz9yB\nPMr34YcfZsuWLRxxxBFccsklXHLJJXtdbyLpeSY1mH6HIMlOj+2tXnqeiYjUCnps76HrgG6nIiKy\nL2vXruW8886jsLCQNm3a6LG9hxA1c9VgauYSkVhq5hIRkRpNyUREREJTMhERkdDUAV/DJeOPl0Tk\n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\n",
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
- "source": [
- "hillary_num_tweets = []\n",
- "hillary_num_followers = []\n",
- "for item in lst_1:\n",
- " hillary_num_tweets.append(item[\"user\"][\"statuses_count\"])\n",
- " hillary_num_followers.append(item[\"user\"][\"followers_count\"])\n",
- "\n",
- "donald_num_tweets = []\n",
- "donald_num_followers = []\n",
- "for item in lst_2:\n",
- " donald_num_tweets.append(item[\"user\"][\"statuses_count\"])\n",
- " donald_num_followers.append(item[\"user\"][\"followers_count\"])\n",
- " \n",
- "# A scatter plot of the data\n",
- "plt.scatter(hillary_num_tweets, hillary_num_followers, color='blue', label='Twitter users tweeting about Hillary')\n",
- "plt.scatter(donald_num_tweets, donald_num_followers, color='red', label='Twitter users tweeting about Donald')\n",
- "plt.legend()"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "collapsed": true
- },
- "source": [
- "The above graphs are both pretty complex. Now take the rest of our time to construct a graph that takes in some data from the API. Have fun and ask questions!"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": []
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.4.5"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 0
-}
diff --git a/notebooks/project_3_sol.ipynb b/notebooks/project_3_sol.ipynb
deleted file mode 100644
index 1332dbc..0000000
--- a/notebooks/project_3_sol.ipynb
+++ /dev/null
@@ -1,470 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# Project: Part 3"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Today we will continue this semester's project. To download last week's notebook, click [here](https://drive.google.com/open?id=0B3D_PdrFcBfRQjBfUGZaMFF2Mlk)."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Reference Bank\n",
- "\n",
- "Other links referenced today:\n",
- "* [538 - Political statistics](http://fivethirtyeight.com/)\n",
- "* [How to apply for Twitter API key](https://apps.twitter.com/)\n",
- "* [Twitter advanced search engine](https://twitter.com/search-advanced?lang=en)\n",
- "* [Tweepy documentation](http://tweepy.readthedocs.io/en/v3.5.0/getting_started.html#api)\n",
- "* [Twitter API documentation](https://dev.twitter.com/rest/reference)\n",
- "\n",
- "**Our Twitter key: Q8kC59z8t8T7CCtIErEGFzAce**"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "## Import required libraries\n",
- "import tweepy\n",
- "import json"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "## NOTE: Better to use your own keys and tokens!!\n",
- "## Our access key, mentioned above\n",
- "consumer_key = 'Q8kC59z8t8T7CCtIErEGFzAce'\n",
- "## Our signature, also given upon app creation\n",
- "consumer_secret = '24bbPpWfjjDKpp0DpIhsBj4q8tUhPQ3DoAf2UWFoN4NxIJ19Ja'\n",
- "## Our access token, generated upon request\n",
- "access_token = '719722984693448704-lGVe8IEmjzpd8RZrCBoYSMug5uoqUkP'\n",
- "## Our secret access token, also generated upon request\n",
- "access_token_secret = 'LrdtfdFSKc3gbRFiFNJ1wZXQNYEVlOobsEGffRECWpLNG'\n",
- "\n",
- "## Set of Tweepy authorization commands\n",
- "auth = tweepy.OAuthHandler(consumer_key, consumer_secret)\n",
- "auth.set_access_token(access_token, access_token_secret)\n",
- "api = tweepy.API(auth)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Now let's create a search query. The Tweepy API object has a *search* method that takes in a parameters *q*, which is our search query. The search query is a string that specifies what kind of tweets we want to search for. The documentation for query operators, which define what you'd like to search for, can be found [here]( https://dev.twitter.com/rest/public/search). The Twitter [advanced search engine](https://twitter.com/search-advanced?lang=en) also provides an easy way to build complex queries.\n",
- "\n",
- "For example, if we want to search for tweets about Hillary with the hashtag \"Imwithher\":"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# We first need to create our search query string, using either the query operator documentation, \n",
- "# or the Twitter advanced search enginer:\n",
- "query = \"%20hillary%23imwithher\"\n",
- "\n",
- "# We now use the api object's search method to find the tweets that match the query:\n",
- "results = api.search(query)\n",
- "\n",
- "# Now, let's see the results. The results will be a list of SearchResult objects. Let's look at the first result in the list:\n",
- "print(results[0])"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "That's a lot of text. Let's convert the first results to JSON (which in Python, acts as a dictionary) and use [JSON Pretty Print](http://jsonprettyprint.com/) to better visualize the results:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Let's convert the first result to JSON:\n",
- "status = results[0]\n",
- "# This here is the data as a dictionary:\n",
- "dictionary = status._json\n",
- "# And this is the data as a JSON string.\n",
- "json_str = json.dumps(status._json)\n",
- "# If you print them, the look about the same, but are slightly different.\n",
- "# To actually access the data, we'd need to use the data in the dictionary. But if we only want\n",
- "# to more clearly visualize how the data is structured, we can used JSON Pretty Print. To use it,\n",
- "# we have to use the JSON string. Try pasting the JSON string below into Pretty Print:\n",
- "print(json_str)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "collapsed": true
- },
- "source": [
- "### Analyzing and visualizing data"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Now we'll explore data from the tweets using two Python libraries that are commonly used in data analysis, NumPy and Matplotlib."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "%matplotlib inline\n",
- "import matplotlib\n",
- "import numpy as np\n",
- "import matplotlib.pyplot as plt"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "**NumPy**\n",
- "\n",
- "NumPy is a scientific computing library that provides functions to make it easy to perform computations on data without worrying about the underlying algorithm (think matrix multiplication, list sorting, polynomial fitting, etc.). It's based around \"ndarray\" objects (*n*-dimensional arrays) that are very similar to the Python lists we're already familiar with. The NumPy documentation, which can be found [here](https://docs.scipy.org/doc/numpy-1.11.0/reference/), provides a good explanation of its capabilites."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Let's see some basic examples of what NumPy can do:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Create a Python list\n",
- "lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n",
- "\n",
- "# Create a NumPy array from that list\n",
- "array = np.array(lst)\n",
- "\n",
- "# Let's say we want to add 5 to each number in the list, multiply each number by 10, and then\n",
- "# find the sum of all numbers in the list. Using only Python, it would look something like\n",
- "# this:\n",
- "new_lst = []\n",
- "for i in range(len(lst)):\n",
- " new_lst.append((lst[i] + 5) * 10)\n",
- "lst_sum = sum(new_lst)\n",
- "print(\"lst_sum: \" + str(lst_sum))\n",
- "\n",
- "# With NumPy, it would be:\n",
- "array_sum = np.sum((array + 5) * 10)\n",
- "print(\"array_sum: \" + str(array_sum))\n",
- "\n",
- "# Using the same list and array, let's find the numbers in the list that are either even or\n",
- "# greater than 5.\n",
- "\n",
- "# Python only code:\n",
- "new_lst = []\n",
- "for num in lst:\n",
- " if num % 2 == 0 or num > 5:\n",
- " new_lst.append(num)\n",
- "print(\"new_lst: \" + str(new_lst))\n",
- " \n",
- "# NumPy code:\n",
- "boolean_array = (array > 5) | (array % 2 == 0)\n",
- "new_array = array[boolean_array]\n",
- "print(\"new_array: \" + str(new_array))\n",
- "\n",
- "# As you can see, we get the same result with NumPy using fewer and less complicated lines of\n",
- "# code. This is a really basic example, but the advantage of using NumPy becomes even more\n",
- "# clear with more complicated calculations."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "**Matplotlib**\n",
- "\n",
- "Matplotlib is another Python library that makes is easy to visualize data. You can create almost any kind of plot with Matplotlib: line graphs, box plots, heatmaps, 3D scatter plots, histograms, etc. The documentation, which you can find [here](http://matplotlib.org/contents.html) is also pretty good.\n",
- "\n",
- "Matplotlib and NumPy are often used together. They don't have to be, but they do complement each other well."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Here are a few examples:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Here's some fake data:\n",
- "x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])\n",
- "y = np.array([2, 5, 3, 6, 5, 8, 7, 7, 8, 9])\n",
- "\n",
- "# Let's make a scatter plot. Matplotlib will create the figure, you just have to give it data,\n",
- "# and then specify additional parameters if you'd like.\n",
- "# Note that all you really need here is \"plt.plot(x, y)\". \n",
- "# The other parameters just change the appearance of the plot.\n",
- "plt.plot(x, y, \"o\", color='red')\n",
- "plt.title(\"Scatter plot\")\n",
- "plt.xlabel(\"X axis\")\n",
- "plt.ylabel(\"Y axis\")"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# A bar graph, with the same data\n",
- "plt.bar(x, y)\n",
- "plt.title(\"Bar graph\")\n",
- "plt.xlabel(\"X values\")\n",
- "plt.ylabel(\"Y values\")"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Let's make it 3D!\n",
- "# We first need to import an add-on library for 3D graphing:\n",
- "from mpl_toolkits.mplot3d import Axes3D\n",
- "\n",
- "# Make data for the z axis:\n",
- "z = np.array([1, 5, 2, 7, 4, 6, 7, 3, 9, 9])\n",
- "fig = plt.figure()\n",
- "ax = fig.add_subplot(111, projection='3d')\n",
- "ax.scatter(x, y, z, color='green')\n",
- "plt.title(\"3D graph\")"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Twitter Data Analysis"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Now we'll explore some of the data we get from the Twitter API using NumPy and Matplotlib. Let's look at the difference in attitudes to the former presidential candidats by location in the US. First, we need to construct a query. An easy way to do so is to use Twitter's [advanced search engine](https://twitter.com/search-advanced?lang=en)."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Search for tweets containing a positive attitude to 'hillary' or 'clinton' since October 1st\n",
- "query1 = \"hillary%20OR%20clinton%20%3A%29\"\n",
- "\n",
- "# Search for tweets containing a positive attitude to 'donald' or 'trump' since October 1st\n",
- "query2 = \"donald%20OR%20trump%20%3A%29\"\n",
- "\n",
- "results1 = api.search(q=query1)\n",
- "results2 = api.search(q=query2)\n",
- "\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "print(results1)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Remember from last time that each status has a `_json` attribute that contains a portion of data similar to a Python dictionary. We will be analyzing these sub-dictionaries for data.\n",
- "\n",
- "In the next block of code, we will want to put the `_json` dictionary from the status into a list that corresponds with the query."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "# Get the JSON portion from each result\n",
- "# Remember: JSON is like a Python dictionary. Store these dictionaries to lists.\n",
- "lst_1 = []\n",
- "for i in range(len(results1)):\n",
- " status = results1[i]\n",
- " dictionary = status._json\n",
- " lst_1.append(dictionary)\n",
- " \n",
- "lst_2 = []\n",
- "for i in range(len(results2)):\n",
- " status = results2[i]\n",
- " dictionary = status._json\n",
- " lst_2.append(dictionary)\n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "We now have a list of results for both queries. Let's look at how many retweets each tweet has:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "retweets1 = []\n",
- "retweets2 = []\n",
- "\n",
- "for item in lst_1:\n",
- " retweets1.append(item[\"retweet_count\"])\n",
- "\n",
- "for item in lst_2:\n",
- " retweets2.append(item[\"retweet_count\"])\n",
- "\n",
- "retweets1 = np.array(retweets1)\n",
- "retweets2 = np.array(retweets2)\n",
- "\n",
- "# Boxplot of retweets of tweets, by candidate\n",
- "fig, axis = plt.subplots()\n",
- "plt.boxplot([retweets1, retweets2], showfliers=False)\n",
- "plt.title(\"Retweets of tweets about candidates\")\n",
- "axis.set_xticklabels([\"Hillary\", \"Donald\"])"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Now let's compare how active on Twitter Hillary tweeters are vs. Donald tweeters. Let's look at two data points: the number of tweets on a user's page and the number of followers a user has.\n",
- "\n",
- "We will graph the results for Hillary in blue, and Donald in red."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "hillary_num_tweets = []\n",
- "hillary_num_followers = []\n",
- "for item in lst_1:\n",
- " hillary_num_tweets.append(item[\"user\"][\"statuses_count\"])\n",
- " hillary_num_followers.append(item[\"user\"][\"followers_count\"])\n",
- "\n",
- "donald_num_tweets = []\n",
- "donald_num_followers = []\n",
- "for item in lst_2:\n",
- " donald_num_tweets.append(item[\"user\"][\"statuses_count\"])\n",
- " donald_num_followers.append(item[\"user\"][\"followers_count\"])\n",
- " \n",
- "# A scatter plot of the data\n",
- "plt.scatter(hillary_num_tweets, hillary_num_followers, color='blue', label='Twitter users tweeting about Hillary')\n",
- "plt.scatter(donald_num_tweets, donald_num_followers, color='red', label='Twitter users tweeting about Donald')\n",
- "plt.legend()"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": []
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.4.5"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 0
-}
diff --git a/notebooks/python_development.ipynb b/notebooks/python_development.ipynb
deleted file mode 100644
index 5bb7799..0000000
--- a/notebooks/python_development.ipynb
+++ /dev/null
@@ -1,1200 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# Python Development Overview\n",
- "### Getting familiar with IPython Notebook"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Welcome to Python Practice! Today we will learn about IPython in the Jupyter Notebook. Jupyter notebooks are interactive documents that allow you to run code alongside text elements and figures like graphs or charts. This provides a nice environment for projects that require integration of code with text and visualizations, and you'll find that it's pretty easy to use."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Notebooks are split into sections called \"cells\" that can contain either text or code. This is a text cell, and if you double click *here* you'll see that you can edit the text. The text is formatted to look nice in a markup language called Markdown. To format this text cell again, press `Shift` + `Enter`."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 1,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "I am a code cell!\n"
- ]
- }
- ],
- "source": [
- "\"\"\"\n",
- "This is a code cell. You'll notice that unlike text cells, this box is\n",
- "colored in grey and says 'In []' to the left of it.\n",
- "\n",
- "To run code within a code cell, press either Shift + Enter or the play \n",
- "button in the toolbar above. If you run this code cell, you'll see that \n",
- "the output is printed below.\n",
- "\"\"\"\n",
- "\n",
- "print(\"I am a code cell!\")"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "You can also insert and delete cells wherever you'd like. Try inserting a new text cell by clicking:\n",
- "\n",
- "`Insert -> Insert Cell Below`\n",
- "\n",
- "Now try changing the cell type from code to text by clicking:\n",
- "\n",
- "`Cell -> Cell Type -> Markdown`."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "To save any changes you make to the notebook, click `File -> Save and Checkpoint`."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Python Overview\n",
- "\n",
- "In the Python Practice working group, we're assuming knowledge of programming fundamentals and basic familiarity with Python including its syntax, data types, and some exposure to object-oriented programming. Today we'll provide a brief review of Python fundamentals, but in future meetings we'll be covering topics that go beyond the basics.\n",
- "\n",
- "The class will be structured around projects, all focused on real-world applications of Python for data analysis. If you are interested in learning Python basics, we'd recommend you check out our [Python Fundamentals](http://dlab.berkeley.edu/training?body_value=&field_keyword_tid=425) workshop series, or check out our [old review materials](http://python.berkeley.edu/past/)."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Today's notebook will cover the following subjects:\n",
- "* Basic data types (plus a couple fun ones)\n",
- "* Control flow\n",
- "* Loops\n",
- "* Basic function syntax"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Data Types"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "#### Integers and floats\n",
- "Unlike languages like C or Java, Python uses \"duck typing,\" which means that if a variable looks like a certain type, Python will interpret it as such. If you run the code cell below, you'll see that even though `a` and `b` are integers, the result is a float because Python peforms this conversion in the background."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 2,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "3.3333333333333335\n"
- ]
- }
- ],
- "source": [
- "a = 10\n",
- "b = 3\n",
- "c = a/b\n",
- "print(c)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "#### Booleans\n",
- "In Python, everything is an object. This means that everything in a Python script, including functions, lists, and integer literals, has attributes and can function like an object. This also means that everything in Python has a boolean attribute of either `True` or `False`. \n",
- "\n",
- "The values `None` and `False`, along with zeros of any numeric type, empty sequences, and empty dictionaries, are `False`. All other values are `True`. Some examples below:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 3,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "True"
- ]
- },
- "execution_count": 3,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "True or False"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 4,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "False"
- ]
- },
- "execution_count": 4,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "w = (3 and 0)\n",
- "w == True"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 5,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "False"
- ]
- },
- "execution_count": 5,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "x = ([] and 5)\n",
- "x == True"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 6,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "False"
- ]
- },
- "execution_count": 6,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "y = (1.1 and [1, 2, 3])\n",
- "y == True"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 7,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "False"
- ]
- },
- "execution_count": 7,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "z = (None or 0.0)\n",
- "z == True"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "#### Lists and Tuples\n",
- "Lists and tuples are ordered sequences of items that essentially serve the same function, with the exception that tuples can't be modified after they've been created. They aren't limited to containing one type of element, so one list or tuple can hold any variety of objects."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "same_type = [2, 4, 6, 8, 10]\n",
- "different_types = ['a', 1, True, None]"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Lists are zero-indexed and can be sliced in many different ways:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 8,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "1\n"
- ]
- }
- ],
- "source": [
- "lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n",
- "# Selecting the first item\n",
- "print(lst[0])"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 9,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "9\n"
- ]
- }
- ],
- "source": [
- "# Selecting the second-to-last item\n",
- "print(lst[-2])"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 10,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[4, 5, 6, 7, 8, 9, 10]\n"
- ]
- }
- ],
- "source": [
- "# Selecting all items after the third\n",
- "print(lst[3:])"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 11,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[1, 4, 7, 10]\n"
- ]
- }
- ],
- "source": [
- "# Selecting every third item using an optional \"step\" parameter\n",
- "print(lst[::3])"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 12,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]\n"
- ]
- }
- ],
- "source": [
- "# Reversing the list (and a fun interview trick!)\n",
- "print(lst[::-1])"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Now you try! Implement a list slice that selects every other item from a list, beginning with the second item and ending with the last."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 14,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[2, 4, 6, 8, 10]\n"
- ]
- }
- ],
- "source": [
- "new_lst = lst[1::2]\n",
- "print(new_lst)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "#### Stacks and Queues\n",
- "\n",
- "A [stack](http://www.studytonight.com/data-structures/stack-data-structure) is a type of data structure. Stacks get their name because they have a Last In First Out (LIFO) policy for adding and removing, just as if you were stacking plates or CDs. More specifically, every time an element is added, it goes on the top of the stack. Just as it is only possible to remove the top item from a pile, it is only possible to remove the most recently added item from a stack.\n",
- "\n",
- "A [queue]() is a data structure with a First In First Out (FIFO) removal policy."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "In Python, it's also easy to use lists as stacks:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 15,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[2, 4, 8]\n",
- "[2, 4]\n"
- ]
- }
- ],
- "source": [
- "stack = [2, 4, 8, 16]\n",
- "stack.pop()\n",
- "print(stack)\n",
- "stack.pop()\n",
- "print(stack)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 16,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[2, 4, 6]\n",
- "[2, 4, 6, 8]\n"
- ]
- }
- ],
- "source": [
- "stack.append(6)\n",
- "print(stack)\n",
- "stack.append(8)\n",
- "print(stack)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "And also as queues!"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 17,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "'first'"
- ]
- },
- "execution_count": 17,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "from collections import deque\n",
- "queue = deque(['first', 'second', 'third', 'fourth'])\n",
- "queue.popleft()"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 18,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "deque(['second', 'third', 'fourth', 'fifth'])\n"
- ]
- }
- ],
- "source": [
- "queue.append('fifth')\n",
- "print(queue)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "#### List Comprehension"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Another handy trick in Python is a list comprehension, which allows you to filter or map a function over every element in a list.\n",
- "\n",
- "The format for a list comprehension is as follows:\n",
- "\n",
- "Take in some list `lst1` and apply some function or filter f(x) over its elements, returning a new list `lst2`.\n",
- "\n",
- "`lst2 = [f(x) for x in lst1]`"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 19,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]\n"
- ]
- }
- ],
- "source": [
- "lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n",
- "doubled = [x*2 for x in lst]\n",
- "print(doubled)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 20,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[2, 4, 6, 8, 10]\n"
- ]
- }
- ],
- "source": [
- "evens = [y for y in lst if y%2 == 0]\n",
- "print(evens)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 21,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[6, 8, 10, 12, 14]\n"
- ]
- }
- ],
- "source": [
- "odds_plus_five = [z + 5 for z in lst if z%2 == 1]\n",
- "print(odds_plus_five)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Write your own list comprehension that doubles any multiples of 3 from a list."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 23,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[6, 12, 18]\n"
- ]
- }
- ],
- "source": [
- "# Fill me in!\n",
- "doubled_thirds = [y*2 for y in lst if y%3==0]\n",
- "print(doubled_thirds)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "#### Strings\n",
- "A [string](https://docs.python.org/2/library/string.html) is a sequence of characters that is indexed much like a list:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 24,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Python\n",
- "Java\n"
- ]
- }
- ],
- "source": [
- "sentence = \"Python is cooler than Java\"\n",
- "print(sentence[:6])\n",
- "print(sentence[-4:])"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Strings can also easily be concatenated with a `+`. Try making a variable called `my_name`:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 25,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "My name is Liza\n"
- ]
- }
- ],
- "source": [
- "your_name = \"Liza\"\n",
- "print(\"My name is \" + your_name)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "You can also format strings to insert replacement text with positional arguments:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 27,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Hi! My names is Liza and my favorite color is blue.\n"
- ]
- }
- ],
- "source": [
- "your_favorite_color = \"blue\"\n",
- "sentence = \"Hi! My names is {0} and my favorite color is {1}.\".format(your_name, your_favorite_color)\n",
- "print(sentence)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "One useful trick in handling strings is the `split` function, which takes in a string, splits it on some delimiter, and returns a list of subparts. For example, if we wanted to split a sentence into individual words, we could split on the spaces."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 28,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "4\n"
- ]
- }
- ],
- "source": [
- "sentence = \"This is a sentence\"\n",
- "words = sentence.split(' ')\n",
- "print(len(words))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Another built-in Python function that can be useful is `replace`, which takes in a string and replaces some character with another character. Here is an example:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 29,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "I live in Ventura.\n",
- "Since I moved, I live in Berkeley.\n"
- ]
- }
- ],
- "source": [
- "hometown = \"Ventura\"\n",
- "sentence = \"I live in {0}.\".format(hometown)\n",
- "print(sentence)\n",
- "\n",
- "new_town = \"Berkeley\"\n",
- "new_sentence = \"Since I moved, \" + sentence.replace(hometown, new_town)\n",
- "print(new_sentence)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Practice using the above string functions to manipulate the following sentence in the following ways:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 31,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "4.333333333333333\n"
- ]
- }
- ],
- "source": [
- "# Take in a sentence and replace all its vowels with the letter 'z'.\n",
- "sentence = \"This is a sentence with lots of vowels.\"\n",
- "\n",
- "# CHALLENGE: Take in a sentence and calculate the average word length.\n",
- "sentence = \"This is a sentence with words of varied length.\"\n",
- "words = sentence.split(' ')\n",
- "num_words = len(words)\n",
- "word_lens = 0\n",
- "for word in words:\n",
- " word_lens += len(word)\n",
- "avg = word_lens / num_words\n",
- "print(avg)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "#### Dictionaries\n",
- "A dictionary is a set of key-value mappings. Keys need to be unique within a dictionary, and can be any immutable type (i.e. can't be lists):"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 32,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "1.03\n"
- ]
- }
- ],
- "source": [
- "produce_prices = {'bananas': .99, 'grapefruit': 1.03, 'kiwi': .57,\n",
- " 'eggplant': 1.50, 'avocado': 1.00}\n",
- "print(produce_prices['grapefruit'])"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "You can add, remove, and change the mapping of keys:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 33,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "{'grapefruit': 1.03, 'avocado': 1.2, 'celery': 2.99, 'eggplant': 1.5, 'bananas': 0.99}\n"
- ]
- }
- ],
- "source": [
- "produce_prices['celery'] = 2.99\n",
- "del produce_prices['kiwi']\n",
- "produce_prices['avocado'] = 1.20\n",
- "print(produce_prices)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Control flow"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "When writing code, we need to establish a very clear set of instructions to follow in order for our program to work properly. We might want our program to act according to the value of some condition. A simple real-life example of this would be \"pour water into the glass while it is not full.\"\n",
- "\n",
- "Similarly, we might have a condition that determines between two actions or operations at any given time. For example, \"if I'm running late, I should walk faster; otherwise, I can relax.\""
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "In Python, these conditional statements take the form of \"`if` / `else`\" statements.\n",
- "\n",
- "Aside from \"`if`\" and \"`else`\", there is one more case, called \"`elif`.\" This is short for \"`else if`.\" `elif` is useful when you want to check that multiple conditions are true (or untrue) before you end up at your default `else` case. \n",
- "\n",
- "Here is some sample code to demonstrate this idea."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 34,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Your number, 4, is less than 5.\n",
- "Your number is 4.\n",
- "Your number, 11, is greater than 5.\n",
- "Your number, 5, is equal to 5.\n"
- ]
- }
- ],
- "source": [
- "\"\"\" The syntax of an if, then statement is as follows:\n",
- " if (boolean condition):\n",
- " do something\n",
- " else:\n",
- " do something else\n",
- "\"\"\"\n",
- "\n",
- "def compare_to_five(num):\n",
- " if num < 5:\n",
- " print(\"Your number, \" + str(num) + \", is less than 5.\")\n",
- " if num == 4:\n",
- " print(\"Your number is 4.\")\n",
- " elif num == 5:\n",
- " print(\"Your number, \" + str(num) + \", is equal to 5.\")\n",
- " else:\n",
- " print(\"Your number, \" + str(num) + \", is greater than 5.\")\n",
- " \n",
- "compare_to_five(4)\n",
- "compare_to_five(11)\n",
- "compare_to_five(5)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Loops"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Iterations are useful in programming because it often makes sense to repeat an operation multiple times before completing. Instead of re-writing the code over and over, we can put the repeated portion in a \"loop.\" We can express a number of times to execute the loop, or we can set a condition that must be met in order for the code to stop running.\n",
- "\n",
- "When we want to repeat an operation on items in a list, or when we want to set a specific number of times of execute a loop, we use a `for` loop. To iterate over items in a list, we write `for [item] in [list]:` followed by the body of the loop which contains the operations we want to exectue on each item `item`. The keywords in writing a `for` loop are just `for` and `in`. You can call the `item` anything you'd like, and `list` is the list you're iterating over. Try the code below, which prints ten added to each item in the list. See that in the cell below, `item` refers to the actual item in the list, not the item's index within the list."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 35,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "11\n",
- "12\n",
- "13\n",
- "14\n",
- "15\n"
- ]
- }
- ],
- "source": [
- "lst = [1, 2, 3, 4, 5]\n",
- "for i in lst:\n",
- " print(i + 10)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "We can use the `range` function with `for` loops if we want to set a specific number of times we want to run the loop. For example, the for loop below will print a statement five times:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 36,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Executing the for loop!\n",
- "Executing the for loop!\n",
- "Executing the for loop!\n",
- "Executing the for loop!\n",
- "Executing the for loop!\n"
- ]
- }
- ],
- "source": [
- "for item in range(1, 6):\n",
- " print(\"Executing the for loop!\")"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "If we want to have a loop that runs as long as a certain condition is met, we can use a `while` loop. The condition can be any expression with a boolean value (`True` or `False`). The syntax is `while [condition]:` followed by the body of the loop. The condition's value is checked before every execution of the body of the loop. The loop stops executing once the condition is no longer `True`. Try the cell below, which prints `i` as long as `i` is less than or equal to five. Every time the body of the loop runs, `i` is incremented by `1`. `i` eventually reaches `6`, at which the condition is no longer `True` and execution of the loop stops."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 37,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "0\n",
- "1\n",
- "2\n",
- "3\n",
- "4\n",
- "5\n"
- ]
- }
- ],
- "source": [
- "i = 0\n",
- "while i <= 5:\n",
- " print(i)\n",
- " i = i + 1"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "You can use `for` and `while` loops within functions, which allows you to write more concise code. You can also use loops within one another. A loop within a loop is called \"nested\" loop. You can nest as many loops as you'd like, and they can be any combination of `for` and `while` loops. See what happens when you run the cell below:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 38,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "The value of i is: 1\n",
- "The value of j is: 2\n",
- "The sum is: 3\n",
- "\n",
- "The value of i is: 1\n",
- "The value of j is: 4\n",
- "The sum is: 5\n",
- "\n",
- "The value of i is: 1\n",
- "The value of j is: 6\n",
- "The sum is: 7\n",
- "\n",
- "The value of i is: 2\n",
- "The value of j is: 2\n",
- "The sum is: 4\n",
- "\n",
- "The value of i is: 2\n",
- "The value of j is: 4\n",
- "The sum is: 6\n",
- "\n",
- "The value of i is: 2\n",
- "The value of j is: 6\n",
- "The sum is: 8\n",
- "\n",
- "The value of i is: 3\n",
- "The value of j is: 2\n",
- "The sum is: 5\n",
- "\n",
- "The value of i is: 3\n",
- "The value of j is: 4\n",
- "The sum is: 7\n",
- "\n",
- "The value of i is: 3\n",
- "The value of j is: 6\n",
- "The sum is: 9\n",
- "\n"
- ]
- }
- ],
- "source": [
- "for i in range(1,4):\n",
- " for j in [2, 4, 6]:\n",
- " print(\"The value of i is: \" + str(i))\n",
- " print(\"The value of j is: \" + str(j))\n",
- " print(\"The sum is: \" + str(i + j) + \"\\n\")"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 42,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "5\n"
- ]
- }
- ],
- "source": [
- "x = range(1, 6)\n",
- "print(len(x))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Functions"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "To organize our code more effectively, we can divide it into functions. Functions can take one or more inputs, apply a tranformation to them, and return a value that you can save to use later on in your code. The returned value does not have to be of the same data type as the inputs."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "As a review, the body of the function has to begin on a new, indented line, and can contain as many lines of code as you'd like. This is where you do the actual work of the function; you can use your inputs in any way you'd like to return the value you want. Most functions end with a `return` statement which, as the name implies, returns the output of your function. You can set a variable to the returned value of your function."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Here is an example of a function for reference:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "def add_two_and_five():\n",
- " two = 2\n",
- " five = 5\n",
- " return two + five"
- ]
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.4.5"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 0
-}
diff --git a/notebooks/python_intro.ipynb b/notebooks/python_intro.ipynb
deleted file mode 100644
index 9e57676..0000000
--- a/notebooks/python_intro.ipynb
+++ /dev/null
@@ -1,648 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "#Welcome to Jupyter Notebook!\n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "This notebook has an overview of the following concepts in Python:\n",
- "* Data types\n",
- "* Basic syntax\n",
- "* Function definitions and parameters\n",
- "* Iterations"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "There are different ways of working with Python. You can write code directly into the terminal in an [interactive session](https://en.wikibooks.org/wiki/Python_Programming/Interactive_mode), write programs using a text editor like [Sublime text](https://sublimetext.com/2), or use an Jupyter notebook like this one.\n",
- "\n",
- "[Jupyter](http://jupyter.org/) is a set of tools designed with scientific programming in mind. The notebook allows you to run prewritten code and create equations, graphs, and text blocks.\n",
- "\n",
- "Jupyter notebooks are divided into groups of text or code called \"cells.\" This is a text cell, where you can write explanatory text or format equations using a markup language called [Markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet). To edit a text cell:\n",
- "* Double click to modify it.\n",
- "* Press Shift+Enter to \"run\" the cell.\n",
- "\n",
- "Go ahead and practice on this text cell. **Add your name here:** [YOUR NAME HERE]\n",
- "\n",
- "To save any changes you make, go to File -> \"Save and Checkpoint\"."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Below is a code cell with a few lines of Python. To edit a code cell, simply start typing in the cell. To run the code within the cell, select the cell and press Shift+Enter. Try running the cell below!"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# I am a code cell!\n",
- "def hello():\n",
- " print(\"Hello World!\")\n",
- "\n",
- "hello()"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "This is a simple Python function that, when called, prints \"Hello World!\" to the screen. Don't worry about the syntax just yet; we'll get to that soon. For now, check out a more in-depth example below of what you can do in Jupyter."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "###Python for Data Analysis and Visualization"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "As we talked about last week, Python is a great language for processing large sets of data and displaying results in a meaningful way. Generally, Python programs can be written more quickly and in fewer lines of code than equivalent programs in a language like Java or C. It also has extensive libraries dedicated to making data analysis easier.\n",
- "\n",
- "We included a quick example of something you can do in Jupyter notebook so that you could get a taste of all of its possibilities. Below is code for a basic plot in Python, using common libraries numpy and matplotlib. We will learn more about these libraries in weeks to come."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "%pylab inline\n",
- "import numpy as np\n",
- "import matplotlib.pyplot as plt\n",
- "x = np.linspace(0, 3*np.pi, 500)\n",
- "plt.plot(x, np.sin(x**2))\n",
- "plt.title('A basic plot')\n",
- "plt.show()"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "#Data Types\n",
- "\n",
- "In every programming language, there are built-in data types to handle different forms of information. For example, in Python, some very common types are strings, integers, floats, booleans, and lists."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "###Strings\n",
- "Strings are used to represent text, and are declared with quotation marks. Below, a variable is set to an empty string called your_name. Fill in your name, and then run the cell to see Python `print` it out, or display it below."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "your_name = \"\"\n",
- "print(your_name)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "###Integers\n",
- "An integer, or an \"int\" in Python, represents whole a number. Integers are used in Python just as they are in plain math. Below, a variable your_lucky_number is set to 0. Fill in your lucky number, and then run the cell to see Python `print` it out."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "your_lucky_number = 0\n",
- "print(your_lucky_number)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "It makes sense to treat these data types differently, because certain operations cannot apply to all types of data. For example, you cannot take the square root of a sentence. Python protects against user errors such as this by throwing a `TypeError`. Run the code block below to see what we mean."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "import math\n",
- "math.sqrt(\"Hello world!\")"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "###Floats\n",
- "You might have noticed that the TypeError above reported that \"`a float is required`\" for the square root function. Floats represent numbers, but unlike integers, floats don't have to be whole numbers. Below are some examples of floats."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "first_float = 3\n",
- "print(first_float)\n",
- "\n",
- "second_float = 2/3\n",
- "print(second_float)\n",
- "\n",
- "third_float = 19.5\n",
- "print(third_float)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "###Booleans\n",
- "Another very useful data type in computer science is a \"boolean.\" Booleans represent `True` or `False` values. For example, the value `(6 > 5)` or \"6 is greater than 5\" is true. If we instead said `(6 > 7)`, we would have a false value. It is useful to determine true or false values to help computers make decisions about what to do.\n",
- "\n",
- "As you may have noticed above, to set variables, we say \"'variable name' = 'variable value'.\" Because the equals sign serves the function of setting variables, we cannot also use it to compare two values. If we want to see if two values are equal, we instead use a double equals sign, or \"==\". This is demonstrated in the code block below. Run it to see how Python represents `True` or `False` values."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "value_1 = 6 > 5\n",
- "print(\"6 > 5 evaluates to: \" + str(value_1))\n",
- "\n",
- "value_2 = 6 > 7\n",
- "print(\"6 > 7 evaluates to: \" + str(value_2))\n",
- "\n",
- "value_3 = True\n",
- "print(\"True evaluates to: \" + str(value_3))\n",
- "\n",
- "value_4 = False\n",
- "print(\"False evaluates to: \" + str(value_4))\n",
- "\n",
- "value_5 = value_1 == value_2\n",
- "print(\"value_1 == value_2 evaluates to: \" + str(value_5))\n",
- "\n",
- "value_6 = value_1 == value_1\n",
- "print(\"value_1 == value_1 evaluates to: \" + str(value_6))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "###Lists\n",
- "It can often be useful to store a list of objects in a program. Python has a built-in list data type that does just that. To denote a list in Python, we use square brackets. We will learn more about using lists soon. Fill out the list below with the names of three people next to you."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "new_friends = [\"\", \"\", \"\"]\n",
- "print(new_friends)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "###None\n",
- "In many cases, it makes sense to have a value meaning \"nothing.\" In many programming languages, that value is called \"`NULL`.\" Because Python is so close to English, the value for nothing is actually \"`None`.\" Conceptually, it seems a little weird to have a value for nothing, but its functionality will become clear later on.\n",
- "\n",
- "`None` works differently than an empty string or 0, because unlike an empty string or 0, it doesn't really have a type. To see what `None` looks like, `print` it out below."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "nothing = None\n",
- "print(nothing)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "You may have expected to see a blank line. The reason Python's designers chose to print \"`None`\" out is to make debugging easier. Often times, if a program is failing, programmers will use `print` statements (like the ones we used above) to debug their code. If a program is failing because it is trying to operate on nothing, it can be helpful to realize this by printing it out."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "###Type Conversion\n",
- "In some cases, we need to be able to convert values from one type to another. For example, if I am trying to create a string using some integer variable inside a string of text, I need to be able to substitute in the number value. In order to do this, I need to convert my integer to a string. We do this by putting the variable in a type conversion function. For more info, check out [this link](http://www.pitt.edu/~naraehan/python2/data_types_conversion.html). Run the code block below to see an example."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "num = 10\n",
- "print(\"I have \" + str(num) + \" fingers.\")\n",
- "\n",
- "num = \"10\"\n",
- "print(int(num)*2)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "#Basic Syntax"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "In programming, \"syntax\" refers to the format of the language. One of the greatest things about Python is that its syntax closely resembles that of English. In most programming languages, there are lots of semi-colons or brackets in the code, but this is not the case in Python.\n",
- "\n",
- "One thing to note about Python is that spacing or \"whitespace\" matters. Different indentation can result in different functionality. You will see examples of this later in the sections on function definitions and iterations."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "###Variables\n",
- "As we have seen in the code above, we often use variables to represent some value. Variables are useful because if we have some value that we use in many places throughout our code, we should be able to edit that value in one place and have that change take effect throughout our code. For example, check out the code below. This is a trivial and silly example, but the concept of using variables to represent values is very important.\n",
- "\n",
- "We set a variable by writing \"'variable name' = 'variable value'\"."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "my_age = 19\n",
- "\n",
- "def birthday(age):\n",
- " print(\"Before my birthday, I was \" + str(age) + \" years old.\")\n",
- " age = age + 1\n",
- " print(\"Since my birthday, I am \" + str(age) + \" years old.\")\n",
- " return age\n",
- "\n",
- "my_age = birthday(my_age)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "#Function Definitions and Parameters"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "To organize our code more effectively, we can divide it into functions. Functions can take one or more inputs, apply a tranformation to them, and return a value that you can save to use later on in your code. The returned value does not have to be of the same data type as the inputs."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Let's look at the syntax of functions in Python. A function will always begin with the word `def`, followed by the function name and then its inputs in parentheses, with a colon after the closing parenthesis. The inputs can be variables you have set before, or new values that you pass into the function. Functions can have zero inputs, but they still need the set of parentheses following the function name. \n",
- "\n",
- "The body of the function has to begin on a new, indented line, and can contain as many lines of code as you'd like. This is where you do the actual work of the function; you can use your inputs in any way you'd like to return the value you want. Most functions end with a `return` statement which, as the name implies, returns the output of your function. You can set a variable to the returned value of your function."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Try running the cell containing this simple function:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "def add_two_and_five():\n",
- " two = 2\n",
- " five = 5\n",
- " return two + five"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Why doesn't anything happen when you run the above cell? The syntax of the function is correct, but what we're missing is the function call. Defining the function, as above, and actually executing it are separate steps in the code. Let's call the function below, and set a variable 'seven' to its return value:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "seven = add_two_and_five()\n",
- "seven"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "You should see that the function returns `7` when called.\n",
- "\n",
- "\n",
- "###Print vs. Return\n",
- "A quick note on the difference between `print` statements and 'return' statements: `print` only displays its input, whereas `return` gives you the actual value of the function, which you can store for later use. The actual return value of `print`, no matter its inputs, is always `None`. Try the example below, where both functions perform the same operation on the input, but have different return values:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "my_number = 5\n",
- "\n",
- "def print_square(num):\n",
- " squared = num * num\n",
- " print(squared)\n",
- " \n",
- "def return_square(num):\n",
- " squared = num * num\n",
- " return squared\n",
- "\n",
- "print(\"Here is what you see when each function is called:\")\n",
- "print_square(my_number)\n",
- "return_square(my_number)\n",
- "\n",
- "print(\"Here is what you see when you print the return value of each function:\")\n",
- "print(print_square(my_number))\n",
- "print(return_square(my_number))\n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Notice that each time `print_square` is called, it displays the result to the screen, which is why you see `25` when `print_square` is called, but not when `return square` is called. When you print the actual return value of each funciton, you see that `print_square` prints `25` as it's executed, but the actual return value is `None`. For `return_square`, its return value is `25`.\n",
- "\n",
- "Your functions can have as many inputs as you'd like. The inputs can also be different data types. See below:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "one = 1\n",
- "two = 2\n",
- "hello = \"Hello\"\n",
- "\n",
- "def add_nums_and_greet(greeting, num1, num2):\n",
- " added = num1 + num2\n",
- " string = greeting + \", the sum of the two numbers is: \" + str(added)\n",
- " print(string)\n",
- " \n",
- "add_nums_and_greet(hello, one, two)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "#Iterations"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Iterations are a useful tool in programming because it often makes sense to repeat an operation multiple times before completing. Instead of re-writing the code over and over, we can put the repeated portion in a \"loop.\" We can express a number of times to execute the loop, or we can set a condition that must be met in order for the code to stop running.\n",
- "\n",
- "First, let's revisit Python lists. A list is simply an ordered collection of objects. The objects in the list, called items, can be of any data type. In Python you can have different data types within a list. Each list item is associated with an index, which is the item's position within the list. Item indices begin with `0` for the first item, then `1` for the subsequent item, then `2` for the next, etc. It's important to remember that indices begin at `0`, not `1`, which is how we naturally start counting real objects.\n",
- "\n",
- "Indices are how you access items within a list. To access an item within a list, you type the list's name followed directly by the item index in square brackets: `list_name[item_index]`. For example:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "lst = ['first', 'second', 'third', 'fourth']\n",
- "\n",
- "first_item = lst[0]\n",
- "print(first_item)\n",
- "\n",
- "third_item = lst[2]\n",
- "print(third_item)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "It's important to remember that the item's index within the list and the actual item are separate concepts, an idea that will come up again and again in the future.\n",
- "\n",
- "If you want to create an ordered list of a range of integers, say numbers from one to ten, an easy way to do so is using the `range` function. `range` requires two inputs, and returns a `range`object (which for our purposes, is almost the same as a list). The first input is the starting number, and the second input is the ending number plus one. Here's a list of numbers from one to ten, created using `range`:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "list(range(1, 11))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "collapsed": true
- },
- "source": [
- "Notice that although the starting number is `1`, the ending number is not inclusive! The list ends at `10`, not `11`.\n",
- "\n",
- "Back to loops! When we want to repeat an operation on items in a list, or when we want to set a specific number of times of execute a loop, we use a `for` loop. To iterate over items in a list, we write `for [item] in [list]:` followed by the body of the loop which contains the operations we want to exectue on each item `item`. The keywords in writing a `for` loop are just `for` and `in`. You can call the `item` anything you'd like, and `list` is the list you're iterating over. Try the code below, which prints ten added to each item in the list. See that in the cell below, `item` refers to the actual item in the list, not the item's index within the list."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "lst = [1, 2, 3, 4, 5]\n",
- "for i in lst:\n",
- " print(i + 10)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "We can use the `range` function with `for` loops if we want to set a specific number of times we want to run the loop. For example, the for loop below will print a statement five times:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "for item in range(1, 6):\n",
- " print(\"Executing the for loop!\")"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "If we want to have a loop that runs as long as a certain condition is met, we can use a `while` loop. The condition can be any expression with a boolean value (`True` or `False`). The syntax is `while [condition]:` followed by the body of the loop. The condition's value is checked before every execution of the body of the loop. The loop stops executing is the condition is no longer `True`. Try the cell below, which prints `i` as long as `i` is less than or equal to five. Every time the body of the loop runs, `i` is incremented by `1`. `i` eventually reaches `6`, at which the condition is no longer `True` and execution of the loop stops."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "i = 0\n",
- "while i <= 5:\n",
- " print(i)\n",
- " i = i + 1"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "You can use `for` and `while` loops within functions, which allows you to write more concise code. You can also use loops within one another. A loop within a loop is called \"nested\" loop. You can nest as many loops as you'd like, and they can be any combination of `for` and `while` loops. See what happens when you run the cell below:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "for i in range(1,4):\n",
- " for j in [2, 4, 6]:\n",
- " print(\"The value of i is: \" + str(i))\n",
- " print(\"The value of j is: \" + str(j))\n",
- " print(\"The sum is: \" + str(i + j) + \"\\n\")"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "In the outer `for` loop, `i` refers to the items in `range(1,4)` (which is essentially the list `[1, 2, 3]`). In the inner `for` loop, `j` refers to the items in `[2, 4, 6]`. The above code executes the inner `for` loop for each item in the outer `for` loop, adding `i` to `j` and printing the result."
- ]
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.4.4"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 0
-}
diff --git a/notebooks/python_practice.ipynb b/notebooks/python_practice.ipynb
deleted file mode 100644
index 8a45796..0000000
--- a/notebooks/python_practice.ipynb
+++ /dev/null
@@ -1,795 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# Python Practice"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Today we will be focused on getting some practice exercising the programming skills we've learned so far! But first, we do have a few concepts to go over. Here's an overview:\n",
- "* Basic math operations in Python\n",
- "* String manipulation in Python\n",
- "* Objects\n",
- "\n",
- "Once we've explained these final ideas, we will practice!"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Math operations in Python"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "In Python, often times we'll want to use math operations to manipulate our numerical data. As we've seen in previous meetings, we can use basic operators (e.g. +, -) and expect them to work as they do in the real world. \n",
- "\n",
- "For more complex math operations, like exponentials, it's a little less clear. How do we denote a superscript in Python?"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Basic operations"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "For basic math operations, we generally use the same symbols in Python as we would in real life. For example, to add, we use the plus (`+`) operator, to subtract we use the minus (`-`) operator, to multiply we use the star (`*`) operator, and to divide, we use a slash (`/`). \n",
- "\n",
- "Here are some basic functions to demonstrate each of these operators in action:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "## A function to add two numbers.\n",
- "def add(x, y):\n",
- " return x + y\n",
- "\n",
- "add(2, 6)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "## A function to subtract two numbers. Returns first minus second.\n",
- "def subtract(x, y):\n",
- " return x - y\n",
- "\n",
- "subtract(2, 6)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "## A function to multiply two numbers.\n",
- "def multiply(x, y):\n",
- " return x * y\n",
- "\n",
- "multiply(2, 6)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "## A function to divide two numbers. Returns first over second.\n",
- "def divide(x, y):\n",
- " return x / y\n",
- "\n",
- "divide(2, 6)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Exponents"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "If we want to denote an exponent in Python, we use two asterisks. On the left is the base, or the number we are trying to exponentiate. On the right of the asterisks, we put the number of times we want to exponentiate.\n",
- "\n",
- "If we are trying to square a number, we are raising that number to the power 2. So, the number on the right would be 2. Here's an example:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "def square(x):\n",
- " return x ** 2\n",
- "\n",
- "x = 5\n",
- "square(5)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Mod"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "In Python, we use the percent sign (%) to denote \"mod\", or the remainder after dividing two numbers. One example of where we would use mod is in the case where we are trying to determine if a number is even or odd. Here are some example input/output pairs:\n",
- "\n",
- "`3 % 2` => `1`\n",
- "\n",
- "`2 % 2` => `0`\n",
- "\n",
- "`4 % 2` => `0`\n",
- "\n",
- "`5 % 3` => `2`\n",
- "\n",
- "Here is an example of a program that uses mod:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "'''Square every 5th number in a list.\n",
- " Please write your expected output of passing lst into\n",
- " square_every_fifth below:\n",
- " ***HERE***\n",
- " \n",
- " If the actual output does not match your expectation above,\n",
- " how might you change the function code to do what you\n",
- " expected?\n",
- " \n",
- " Can you think of any other ways to write this function?\n",
- "'''\n",
- "lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]\n",
- "\n",
- "def square_every_fifth(lst):\n",
- " for i in range(len(lst)):\n",
- " if i % 5 == 0:\n",
- " lst[i] = lst[i] ** 2\n",
- " return lst\n",
- "\n",
- "square_every_fifth(lst)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "'''If a number is divisible by 3, return true.'''\n",
- "\n",
- "def divisible_by_three(n):\n",
- " if n % 3 == 0:\n",
- " return True\n",
- " else:\n",
- " return False\n",
- "\n",
- "print(divisible_by_three(9))\n",
- "print(divisible_by_three(7))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## String manipulation in Python"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "String manipulation is a really useful tool in Python. It allows you to take in a string or even a list of strings and take meaningful information from them. This is especially useful in applications that involve handling text data."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### String concatenation"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "We will see in both portions of this section that strings can often be manipulated in the same way as lists, so we will alternate between list examples and string examples. One important idea in manipulating both strings and lists is the idea of *concatenation*.\n",
- "\n",
- "You may have noticed that in past code examples, in order to append one string onto another, we've used the `+` operator. It is very intuitive, so it hasn't really raised questions. We want to talk about it here to confirm your suspicions.\n",
- "\n",
- "With both strings and lists, if we want to combine multiple to form a longer string or a longer list, we use the `+` operator. This operation is called \"concatenating\" strings or lists.\n",
- "\n",
- "Here is an example of where this idea might come in handy:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "one_through_five = [1, 2, 3, 4, 5]\n",
- "six_through_ten = [6, 7, 8, 9, 10]\n",
- "\n",
- "## Print each list\n",
- "print(one_through_five)\n",
- "print(six_through_ten)\n",
- "\n",
- "## Next, print the concatenation of the lists\n",
- "print(one_through_five + six_through_ten)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "first_name = \"Megan\"\n",
- "last_name = \"Carey\"\n",
- "\n",
- "print(\"My full name is \" + first_name + \" \" + last_name)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Concatenation is pretty trivial, but it is often useful in practical applications of programming. If we get search through a data set and come up with multiple strings of related data, or even if we just want to print an explanation for a string of data and attach it to the string, we will need to be able to concatenate. We will see more applications of concatenation in the following section."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### String indexing"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "We are now familiar with indexing into a list. For example, if we want to get the first item from a list of items, we can use the first index to do that."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "lst = [1, 2, 3, 4, 5]\n",
- "first = lst[0]\n",
- "print(\"The first item in our list is \" + str(first))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "As it turns out, we can use this same indexing strategy to pull characters out of a string. Here is an example:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "name = \"Megan\"\n",
- "first = name[0]\n",
- "print(\"My name starts with the letter \" + first)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "What happened here? We took a string, `name`, and we used our list indexing from before to retrieve the first letter of the string. Pretty cool!\n",
- "\n",
- "Importantly, we can also get a *range* of characters from a string, or a range of items from a list, using a similar notation. In order to get a range of characters from a list or string, we will use the following notation: `lst[start:end]`. Here, the start index is *inclusive* and the end index is *exclusive*. This means that we would put the exact index for the first character we want, and then the index + 1 to get the last character we want.\n",
- "\n",
- "Here are some examples to demonstrate this idea:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "greeting = \"Hello, my name is Megan!\"\n",
- "name = greeting[18:23]\n",
- "print(\"You were just greeted by \" + name)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "lst = [1, 2, 3, 4, 5]\n",
- "middle = lst[1:4]\n",
- "print(middle)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "If we use a colon without a value for start or end, the default start value is 0, and the default end value is the end of the list or string. Here are some more examples to reaffirm this idea:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "name = \"Megan Carey\"\n",
- "first_name = name[:5]\n",
- "last_name = name[6:]\n",
- "print(\"My first name is \" + first_name)\n",
- "print(\"My last name is \" + last_name)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "all_but_first = lst[1:]\n",
- "print(all_but_first)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "sentence = \"It was a terrific day.\"\n",
- "sunday = sentence[9:17]\n",
- "print(\"What type of day was Sunday?: \" + sunday)\n",
- "\n",
- "sentence = \"It was a terrible day.\"\n",
- "monday = sentence[9:17]\n",
- "print(\"What type of day was Monday?: \" + monday)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "That's all for today on string operations. Questions?"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Objects"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "*Objects* are a fundamental part of Python. They are groupings of data (of any kind or amount) that serve to structure your code. Everything in Python is an object, including strings, lists, etc.\n",
- "\n",
- "Objects can have *attributes*, which are variables that describe that particular object. Some examples of object attributes could be an object's size or name.\n",
- "\n",
- "Objects can also have functions defined within them, which are called *methods*. To access an object's attributes or methods, you use the \"dot operator,\" which is just the object's name followed by a period and the attribute or method you want to access. For example, you can use the `append` method of a `List` object to add an item to the end of the list:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "numbers = [1, 2, 3, 4]\n",
- "print(\"The list before appending 5: \" + str(numbers))\n",
- "\n",
- "'''\n",
- "'numbers' is the name of the List object\n",
- "'append' is a method used by the List object; it is predefined in Python's List class.\n",
- "'''\n",
- "\n",
- "numbers.append(5)\n",
- "print(\"The list after appending 5: \" + str(numbers))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "In addition to using Python's objects, you can also define your own objects with \"classes.\" A *class* is like a blueprint used to create objects. In a program, you can create, use, and manipulate multiple objects, but you only have one class definition for each type of object. \n",
- "\n",
- "An object that you have already created is called an *instance* of its class. For example, `[1, 2, 3, 4, 5]` is an instance of class `List`, and `\"Hello World\"` is an instance of class `String`. Below is an example of a class called `BankAccount`, which defines how a `BankAccount` should behave:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Defining the BankAccount class\n",
- "class BankAccount(object):\n",
- " '''\n",
- " The __init__() method defines what an object should do as soon as\n",
- " you create it. \n",
- " \n",
- " Here, the object sets its attribute 'balance' to 'starter_balance',\n",
- " which is an argument you pass in when creating the object.\n",
- " \n",
- " 'self' is how the object refers to itself. Here, it's used to set\n",
- " its 'balance' to 'starter_balance'.\n",
- " '''\n",
- " def __init__(self, starter_balance):\n",
- " self.balance = starter_balance\n",
- " \n",
- " # This method adds 'amount' to the object's 'balance' attribute. \n",
- " # Notice that 'self' needs to be an arugment whenever you define a method.\n",
- " def deposit(self, amount):\n",
- " self.balance += amount\n",
- " \n",
- " # This method subtracts 'amount' from 'self.balance', warning\n",
- " # the user if the balance would go below zero.\n",
- " def withdraw(self, amount):\n",
- " if self.balance >= amount:\n",
- " self.balance -= amount\n",
- " else:\n",
- " print('Cannot withdraw: insufficient funds.' \n",
- " + 'Your current balance is: ' + str(self.balance))\n",
- " \n",
- " # This method displays the account's current balance.\n",
- " def statement(self):\n",
- " print('Your current balance is: ' + str(self.balance))\n",
- " \n",
- "'''\n",
- " Creating instances of the BankAccount class\n",
- " Here, we create a BankAccount object named 'my_account1'.\n",
- " The starter balance is $300.\n",
- "'''\n",
- "my_account1 = BankAccount(300)\n",
- "\n",
- "'''\n",
- " Now we deposit $100. We use a dot operator to access the 'deposit'\n",
- " method of the object, and pass in 100 as the 'amount' argument.\n",
- " Notice that we don't pass in an argument for 'self'-- this is\n",
- " because 'self' is implicit when using a dot operator.\n",
- "'''\n",
- "\n",
- "my_account1.deposit(100)\n",
- "\n",
- "# Checking the balance.\n",
- "my_account1.statement()\n",
- "\n",
- "# Try to withdraw $500, but there's not enough in the account for that.\n",
- "my_account1.withdraw(500)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "'''\n",
- " Now we create a new BankAccount object, 'my_account2'. This object and\n",
- " its stored data are separate from that of 'my_account1'.\n",
- "'''\n",
- "my_account2 = BankAccount(100)\n",
- "\n",
- "# The balances of the two accounts are different.\n",
- "print(\"Balance of my_account 1:\")\n",
- "my_account1.statement()\n",
- "print(\"Balance of my_account 2:\")\n",
- "my_account2.statement()"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## Code Challenges!"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Finally! We're at the fun part of the notebook. Here are a series of code challenges that we would like you all to complete in pairs."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Write a function that takes in a list of numbers and returns the product of all of the numbers in a list."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "# Write your function here!\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Our solution:\n",
- "def product_of_list(lst):\n",
- " product = 1\n",
- " for item in lst:\n",
- " product = product * item\n",
- " return product\n",
- "\n",
- "print(product_of_list([1, 2, 3, 4]))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Write a function that takes in a string and returns the same string reversed."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Write your function here!\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Our solution:\n",
- "def reverse_string(s):\n",
- " reverse = \"\"\n",
- " for char in s:\n",
- " reverse = char + reverse\n",
- " return reverse\n",
- "\n",
- "print(reverse_string(\"hello\"))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Write a function that takes in a list of numbers and returns `True` if the numbers are sorted in ascending order, and `False` otherwise. *Assume all numbers in the list are positive.*"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Write your function here!\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Our solution:\n",
- "def is_sorted(lst):\n",
- " prev = -1\n",
- " for item in lst:\n",
- " if item < prev:\n",
- " return False\n",
- " prev = item\n",
- " return True\n",
- "\n",
- "print(is_sorted([1, 2, 3, 4, 5]))\n",
- "print(is_sorted([3, 4, 2]))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "collapsed": true
- },
- "source": [
- "Write a function below that takes in a list of integers, and returns `True` if there are at least three consecutive even numbers, returning `False` otherwise."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Write your function here!\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Our solution:\n",
- "def three_evens(lst):\n",
- " even_count = 0\n",
- " for item in lst:\n",
- " if item % 2 == 0:\n",
- " even_count +=1\n",
- " if even_count == 3:\n",
- " return True\n",
- " return False\n",
- "\n",
- "print(three_evens([1, 2, 3, 4, 5]))\n",
- "print(three_evens([1, 2, 4, 6, 7]))"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Write a function that takes in a string and returns a dictionary where the key is a letter in the string, and the value is the number of times that letter appears in the string. "
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Write your function here!\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Our solution\n",
- "def make_dictionary(s):\n",
- " new_dictionary = {}\n",
- " for letter in s:\n",
- " if letter not in new_dictionary:\n",
- " new_dictionary[letter] = 1\n",
- " else:\n",
- " new_dictionary[letter] += 1\n",
- " return new_dictionary\n",
- "\n",
- "make_dictionary(\"hello world\")"
- ]
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.4.4"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 0
-}
diff --git a/notebooks/query_results.csv b/notebooks/query_results.csv
deleted file mode 100644
index e69de29..0000000
diff --git a/notebooks/query_results1.csv b/notebooks/query_results1.csv
deleted file mode 100644
index 9dd0de9..0000000
--- a/notebooks/query_results1.csv
+++ /dev/null
@@ -1,41 +0,0 @@
-metadata,coordinates,geo,truncated,entities,retweeted,extended_entities,favorited,place,id_str,possibly_sensitive,created_at,user,in_reply_to_screen_name,in_reply_to_user_id,source,text,id,in_reply_to_status_id_str,favorite_count,is_quote_status,contributors,lang,in_reply_to_user_id_str,in_reply_to_status_id,retweet_count,retweeted_status,quoted_status_id_str,quoted_status_id,quoted_status
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [], 'symbols': [], 'hashtags': [{'text': 'MAGA', 'indices': [48, 53]}, {'text': 'Shesnotmypresident', 'indices': [54, 73]}], 'user_mentions': [], 'media': [{'sizes': {'thumb': {'resize': 'crop', 'w': 150, 'h': 150}, 'medium': {'resize': 'fit', 'w': 604, 'h': 796}, 'large': {'resize': 'fit', 'w': 604, 'h': 796}, 'small': {'resize': 'fit', 'w': 516, 'h': 680}}, 'display_url': 'pic.twitter.com/O22P4G2bu9', 'media_url': 'http://pbs.twimg.com/media/C5tIt2nWgAAtzHM.jpg', 'id': 836342108399239168, 'url': 'https://t.co/O22P4G2bu9', 'media_url_https': 'https://pbs.twimg.com/media/C5tIt2nWgAAtzHM.jpg', 'id_str': '836342108399239168', 'indices': [74, 97], 'type': 'photo', 'expanded_url': 'https://twitter.com/PoliticalWolf7/status/836342286430711808/photo/1'}]}",False,"{'media': [{'sizes': {'thumb': {'resize': 'crop', 'w': 150, 'h': 150}, 'medium': {'resize': 'fit', 'w': 604, 'h': 796}, 'large': {'resize': 'fit', 'w': 604, 'h': 796}, 'small': {'resize': 'fit', 'w': 516, 'h': 680}}, 'display_url': 'pic.twitter.com/O22P4G2bu9', 'media_url': 'http://pbs.twimg.com/media/C5tIt2nWgAAtzHM.jpg', 'id': 836342108399239168, 'url': 'https://t.co/O22P4G2bu9', 'media_url_https': 'https://pbs.twimg.com/media/C5tIt2nWgAAtzHM.jpg', 'id_str': '836342108399239168', 'indices': [74, 97], 'type': 'photo', 'expanded_url': 'https://twitter.com/PoliticalWolf7/status/836342286430711808/photo/1'}]}",False,,836342286430711808,False,Mon Feb 27 22:28:34 +0000 2017,"{'is_translation_enabled': False, 'name': 'TrumpisPresident', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': '000000', 'follow_request_sent': False, 'utc_offset': -28800, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/834953126197276673/m_gh3by6_normal.jpg', 'statuses_count': 43, 'location': 'United States', 'time_zone': 'Pacific Time (US & Canada)', 'id_str': '816117384209727488', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/816117384209727488/1486513081', 'following': False, 'friends_count': 10, 'profile_link_color': '1B95E0', 'profile_background_tile': False, 'created_at': 'Tue Jan 03 03:02:01 +0000 2017', 'favourites_count': 3, 'has_extended_profile': False, 'id': 816117384209727488, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/834953126197276673/m_gh3by6_normal.jpg', 'followers_count': 6, 'profile_background_color': '000000', 'description': 'Follow for Everything Politics: The war against Mainstream Media has begun', 'profile_sidebar_fill_color': '000000', 'entities': {'description': {'urls': []}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '000000', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 'PoliticalWolf7', 'lang': 'en', 'profile_use_background_image': False, 'listed_count': 0}",,,"Twitter Web Client ",Rare photo of Hillary Clinton on the Death Star #MAGA #Shesnotmypresident https://t.co/O22P4G2bu9,836342286430711808,,0,False,,en,,,0,,,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'WikiLeaks', 'screen_name': 'wikileaks', 'id_str': '16589206', 'id': 16589206, 'indices': [3, 13]}]}",False,,False,,836342282160726017,,Mon Feb 27 22:28:33 +0000 2017,"{'is_translation_enabled': False, 'name': 'Elected Mob', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme14/bg.gif', 'profile_sidebar_border_color': 'EEEEEE', 'follow_request_sent': False, 'utc_offset': -28800, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1605135395/Elected_Mob_Logo_1_normal.jpg', 'statuses_count': 41109, 'location': 'San Diego', 'time_zone': 'Pacific Time (US & Canada)', 'id_str': '394817605', 'is_translator': False, 'url': None, 'translator_type': 'none', 'following': False, 'friends_count': 877, 'profile_link_color': '009999', 'profile_background_tile': True, 'created_at': 'Thu Oct 20 17:33:53 +0000 2011', 'favourites_count': 1189, 'has_extended_profile': False, 'id': 394817605, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/1605135395/Elected_Mob_Logo_1_normal.jpg', 'followers_count': 973, 'profile_background_color': '131516', 'description': 'Exposing the ELECTED MOB in the United States and their political mob tactics! #politicalmobtactics #mobtactics #teaparty #tcot #ccot #lnyhbt #ycot', 'profile_sidebar_fill_color': 'EFEFEF', 'entities': {'description': {'urls': []}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme14/bg.gif', 'screen_name': 'ElectedMob', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 95}",,,"Twitter for Android ",RT @wikileaks: Close Hillary Clinton friend Lynn Forester de Rothschild (Economist publisher) is a trustee of the Saudi funded John McCain…,836342282160726017,,0,False,,en,,,6721,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'en'}, 'coordinates': None, 'place': None, 'geo': None, 'truncated': False, 'entities': {'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': []}, 'retweeted': False, 'favorited': False, 'favorite_count': 7669, 'id_str': '836252208513572866', 'created_at': 'Mon Feb 27 16:30:37 +0000 2017', 'user': {'is_translation_enabled': True, 'name': 'WikiLeaks', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/3147857/WL_Hour_Glass.jpg', 'profile_sidebar_border_color': 'BDDCAD', 'follow_request_sent': False, 'utc_offset': 0, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/512138307870785536/Fe00yVS2_normal.png', 'statuses_count': 45746, 'location': 'Everywhere', 'time_zone': 'Dublin', 'id_str': '16589206', 'is_translator': False, 'url': 'http://t.co/CQrSKaiWjG', 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/16589206/1402313050', 'following': False, 'friends_count': 7598, 'profile_link_color': '0084B4', 'profile_background_tile': True, 'created_at': 'Sat Oct 04 06:41:05 +0000 2008', 'favourites_count': 31, 'has_extended_profile': False, 'id': 16589206, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/512138307870785536/Fe00yVS2_normal.png', 'followers_count': 4364396, 'profile_background_color': '9AE4E8', 'description': 'We open governments. Contact: https://t.co/676V6mG02v PGP: A04C 5E09 ED02 B328 03EB 6116 93ED 732E 9231 8DBA\nAlso:\n@WLTaskForce\n@WikiLeaksShop', 'profile_sidebar_fill_color': 'DDFFCC', 'entities': {'description': {'urls': [{'display_url': 'wikileaks.org/#submit', 'indices': [30, 53], 'url': 'https://t.co/676V6mG02v', 'expanded_url': 'https://wikileaks.org/#submit'}]}, 'url': {'urls': [{'display_url': 'wikileaks.org', 'indices': [0, 22], 'url': 'http://t.co/CQrSKaiWjG', 'expanded_url': 'http://wikileaks.org'}]}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/3147857/WL_Hour_Glass.jpg', 'screen_name': 'wikileaks', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 55955}, 'in_reply_to_screen_name': None, 'in_reply_to_status_id_str': None, 'source': 'Twitter Web Client ', 'text': 'Close Hillary Clinton friend Lynn Forester de Rothschild (Economist publisher) is a trustee of the Saudi funded John McCain Institute.', 'id': 836252208513572866, 'in_reply_to_user_id': None, 'is_quote_status': False, 'contributors': None, 'lang': 'en', 'in_reply_to_user_id_str': None, 'in_reply_to_status_id': None, 'retweet_count': 6721}",,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'Ari Berman', 'screen_name': 'AriBerman', 'id_str': '15952856', 'id': 15952856, 'indices': [3, 13]}, {'name': 'Tom Perez', 'screen_name': 'TomPerez', 'id_str': '4797361833', 'id': 4797361833, 'indices': [52, 61]}]}",False,,False,,836342279073894400,,Mon Feb 27 22:28:32 +0000 2017,"{'is_translation_enabled': False, 'name': 'Jeffrey Campagna', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': -18000, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/814980204586303488/iIcpgn-u_normal.jpg', 'statuses_count': 6504, 'location': 'New York', 'time_zone': 'Eastern Time (US & Canada)', 'id_str': '17784669', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/17784669/1482632582', 'following': False, 'friends_count': 1968, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Mon Dec 01 18:09:40 +0000 2008', 'favourites_count': 843, 'has_extended_profile': False, 'id': 17784669, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/814980204586303488/iIcpgn-u_normal.jpg', 'followers_count': 2094, 'profile_background_color': 'C0DEED', 'description': 'Film Producer, Attorney, Columnist, Political Fundraiser/Event Producer/Strategist, and Advocate for LGBT Equality and Human Rights. I tweet about everything.', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 'JeffreyCampagna', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 75}",,,"Twitter for iPhone ","RT @AriBerman: DNC race wasn't Clinton-Sanders 2.0. @TomPerez has strong progressive record, especially on civil rights https://t.co/tqPM9C…",836342279073894400,,0,False,,en,,,314,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'en'}, 'coordinates': None, 'place': None, 'geo': None, 'truncated': False, 'entities': {'urls': [{'display_url': 'thenation.com/article/tom-pe…', 'indices': [105, 128], 'url': 'https://t.co/tqPM9CULpP', 'expanded_url': 'https://www.thenation.com/article/tom-perez-will-be-a-strong-fighter-for-civil-rights/'}], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'Tom Perez', 'screen_name': 'TomPerez', 'id_str': '4797361833', 'id': 4797361833, 'indices': [37, 46]}]}, 'retweeted': False, 'favorited': False, 'favorite_count': 604, 'id_str': '836259820424560640', 'possibly_sensitive': False, 'created_at': 'Mon Feb 27 17:00:52 +0000 2017', 'user': {'is_translation_enabled': False, 'name': 'Ari Berman', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/378800000180720187/y_RFUYF3.jpeg', 'profile_sidebar_border_color': 'FFFFFF', 'follow_request_sent': False, 'utc_offset': -28800, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/820725654601822208/9rHFYZHO_normal.jpg', 'statuses_count': 20441, 'location': 'New York', 'time_zone': 'Pacific Time (US & Canada)', 'id_str': '15952856', 'is_translator': False, 'url': 'https://t.co/KMh1i3E0nz', 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/15952856/1470151342', 'following': False, 'friends_count': 2209, 'profile_link_color': 'C7124B', 'profile_background_tile': False, 'created_at': 'Sat Aug 23 01:46:02 +0000 2008', 'favourites_count': 9374, 'has_extended_profile': True, 'id': 15952856, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/820725654601822208/9rHFYZHO_normal.jpg', 'followers_count': 59916, 'profile_background_color': '0A4778', 'description': 'Author: Give Us the Ballot: The Modern Struggle for Voting Rights in America https://t.co/q5tNcCdQjy Writer: @thenation Speaking: annette@andersonliterary.com', 'profile_sidebar_fill_color': 'FF1D2E', 'entities': {'description': {'urls': [{'display_url': 'amzn.to/2asHld2', 'indices': [77, 100], 'url': 'https://t.co/q5tNcCdQjy', 'expanded_url': 'http://amzn.to/2asHld2'}]}, 'url': {'urls': [{'display_url': 'ari-berman.com', 'indices': [0, 23], 'url': 'https://t.co/KMh1i3E0nz', 'expanded_url': 'http://ari-berman.com/'}]}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '7A3060', 'verified': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/378800000180720187/y_RFUYF3.jpeg', 'screen_name': 'AriBerman', 'lang': 'en', 'profile_use_background_image': False, 'listed_count': 1804}, 'in_reply_to_screen_name': None, 'in_reply_to_status_id_str': None, 'source': 'Twitter Web Client ', 'text': ""DNC race wasn't Clinton-Sanders 2.0. @TomPerez has strong progressive record, especially on civil rights https://t.co/tqPM9CULpP"", 'id': 836259820424560640, 'in_reply_to_user_id': None, 'is_quote_status': False, 'contributors': None, 'lang': 'en', 'in_reply_to_user_id_str': None, 'in_reply_to_status_id': None, 'retweet_count': 314}",,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [{'display_url': 'wnd.com/2017/02/brazil…', 'indices': [79, 102], 'url': 'https://t.co/mVWe2H9eOd', 'expanded_url': 'http://www.wnd.com/2017/02/brazile-i-allegedly-sent-cnn-questions-to-hillary-team/'}], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'All American Girl', 'screen_name': 'AIIAmericanGirI', 'id_str': '1494835716', 'id': 1494835716, 'indices': [3, 19]}]}",False,,False,,836342278847365125,False,Mon Feb 27 22:28:32 +0000 2017,"{'is_translation_enabled': False, 'name': 'R Johnson', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': None, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/550881888924360705/EQDVo4JQ_normal.jpeg', 'statuses_count': 4902, 'location': 'Kentucky & Big Island Hawaii', 'time_zone': None, 'id_str': '2934688673', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/2934688673/1422150666', 'following': False, 'friends_count': 150, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Sun Dec 21 04:05:33 +0000 2014', 'favourites_count': 7556, 'has_extended_profile': False, 'id': 2934688673, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/550881888924360705/EQDVo4JQ_normal.jpeg', 'followers_count': 127, 'profile_background_color': 'C0DEED', 'description': '', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 'rkj79z28', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 11}",,,"Twitter for iPhone ","RT @AIIAmericanGirI: Brazile: I 'allegedly' sent CNN questions to Hillary team
-https://t.co/mVWe2H9eOd",836342278847365125,,0,False,,en,,,10,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'en'}, 'coordinates': None, 'place': None, 'geo': None, 'truncated': False, 'entities': {'urls': [{'display_url': 'wnd.com/2017/02/brazil…', 'indices': [58, 81], 'url': 'https://t.co/mVWe2H9eOd', 'expanded_url': 'http://www.wnd.com/2017/02/brazile-i-allegedly-sent-cnn-questions-to-hillary-team/'}], 'symbols': [], 'hashtags': [], 'user_mentions': []}, 'retweeted': False, 'favorited': False, 'favorite_count': 5, 'id_str': '836337127201914880', 'possibly_sensitive': False, 'created_at': 'Mon Feb 27 22:08:04 +0000 2017', 'user': {'is_translation_enabled': False, 'name': 'All American Girl', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/654127223067115521/VcNZitUj.jpg', 'profile_sidebar_border_color': '000000', 'follow_request_sent': False, 'utc_offset': -21600, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/750210052540076033/mm7WPhWa_normal.jpg', 'statuses_count': 438484, 'location': 'Wisconsin', 'time_zone': 'Central Time (US & Canada)', 'id_str': '1494835716', 'is_translator': False, 'url': 'https://t.co/9c3b1GKAaB', 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/1494835716/1487703049', 'following': False, 'friends_count': 80188, 'profile_link_color': 'CC3366', 'profile_background_tile': False, 'created_at': 'Sun Jun 09 06:56:44 +0000 2013', 'favourites_count': 3411, 'has_extended_profile': False, 'id': 1494835716, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/750210052540076033/mm7WPhWa_normal.jpg', 'followers_count': 93170, 'profile_background_color': 'DBE9ED', 'description': '[ Wife, Mother, Patriot, Friend ] Searching the Internet for news relevant to conservatives. Both good and bad so we can be informed, debate, agree or correct.', 'profile_sidebar_fill_color': '000000', 'entities': {'description': {'urls': []}, 'url': {'urls': [{'display_url': 'facebook.com/AIIAmericanGir…', 'indices': [0, 23], 'url': 'https://t.co/9c3b1GKAaB', 'expanded_url': 'https://www.facebook.com/AIIAmericanGirI/'}]}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '000000', 'verified': False, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/654127223067115521/VcNZitUj.jpg', 'screen_name': 'AIIAmericanGirI', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 871}, 'in_reply_to_screen_name': None, 'in_reply_to_status_id_str': None, 'source': 'Twitter Web Client ', 'text': ""Brazile: I 'allegedly' sent CNN questions to Hillary team\nhttps://t.co/mVWe2H9eOd"", 'id': 836337127201914880, 'in_reply_to_user_id': None, 'is_quote_status': False, 'contributors': None, 'lang': 'en', 'in_reply_to_user_id_str': None, 'in_reply_to_status_id': None, 'retweet_count': 10}",,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [{'display_url': 'twitter.com/zaibatsunews/s…', 'indices': [65, 88], 'url': 'https://t.co/0JcaBj1AWE', 'expanded_url': 'https://twitter.com/zaibatsunews/status/836339668442472448'}], 'symbols': [], 'hashtags': [], 'user_mentions': []}",False,,False,,836342278801223681,False,Mon Feb 27 22:28:32 +0000 2017,"{'is_translation_enabled': False, 'name': 'Birgit Van DeWeterin', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': None, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/798662555615035392/XG7MK28a_normal.jpg', 'statuses_count': 5799, 'location': 'Newcastle Ontario', 'time_zone': None, 'id_str': '1701714408', 'is_translator': False, 'url': 'https://t.co/ynR4jD8BQy', 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/1701714408/1486516850', 'following': False, 'friends_count': 274, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Mon Aug 26 12:04:27 +0000 2013', 'favourites_count': 4757, 'has_extended_profile': False, 'id': 1701714408, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/798662555615035392/XG7MK28a_normal.jpg', 'followers_count': 189, 'profile_background_color': 'C0DEED', 'description': ""grateful wife, proud mama, besotted Omi, artist, music freak and political junkie. Love watching paint dry- if it's watercolour. Artwork on Instagram"", 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}, 'url': {'urls': [{'display_url': 'asherself.ca', 'indices': [0, 23], 'url': 'https://t.co/ynR4jD8BQy', 'expanded_url': 'http://www.asherself.ca'}]}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 'Birgit99Van', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 13}",,,"Twitter for iPhone ",Please. No. I'm Canadian and I'M suffering from Clinton fatigue! https://t.co/0JcaBj1AWE,836342278801223681,,0,True,,en,,,0,,836339668442472448,836339668442472448,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'en'}, 'coordinates': None, 'geo': None, 'truncated': False, 'entities': {'urls': [{'display_url': 'j.mp/2ls03Ew', 'indices': [56, 79], 'url': 'https://t.co/1zHeUlNTfq', 'expanded_url': 'http://j.mp/2ls03Ew'}], 'symbols': [], 'hashtags': [{'text': 'p2', 'indices': [80, 83]}, {'text': 'ctl', 'indices': [84, 88]}], 'user_mentions': [], 'media': [{'sizes': {'thumb': {'resize': 'crop', 'w': 150, 'h': 150}, 'medium': {'resize': 'fit', 'w': 800, 'h': 430}, 'small': {'resize': 'fit', 'w': 680, 'h': 366}, 'large': {'resize': 'fit', 'w': 800, 'h': 430}}, 'display_url': 'pic.twitter.com/nV4uz1bxIZ', 'media_url': 'http://pbs.twimg.com/media/C5tGfmIVMAA2LwB.jpg', 'id': 836339664432738304, 'url': 'https://t.co/nV4uz1bxIZ', 'media_url_https': 'https://pbs.twimg.com/media/C5tGfmIVMAA2LwB.jpg', 'id_str': '836339664432738304', 'indices': [89, 112], 'type': 'photo', 'expanded_url': 'https://twitter.com/ZaibatsuNews/status/836339668442472448/photo/1'}]}, 'retweeted': False, 'extended_entities': {'media': [{'sizes': {'thumb': {'resize': 'crop', 'w': 150, 'h': 150}, 'medium': {'resize': 'fit', 'w': 800, 'h': 430}, 'small': {'resize': 'fit', 'w': 680, 'h': 366}, 'large': {'resize': 'fit', 'w': 800, 'h': 430}}, 'display_url': 'pic.twitter.com/nV4uz1bxIZ', 'media_url': 'http://pbs.twimg.com/media/C5tGfmIVMAA2LwB.jpg', 'id': 836339664432738304, 'url': 'https://t.co/nV4uz1bxIZ', 'media_url_https': 'https://pbs.twimg.com/media/C5tGfmIVMAA2LwB.jpg', 'id_str': '836339664432738304', 'indices': [89, 112], 'type': 'photo', 'expanded_url': 'https://twitter.com/ZaibatsuNews/status/836339668442472448/photo/1'}]}, 'favorited': False, 'place': None, 'id_str': '836339668442472448', 'possibly_sensitive': False, 'created_at': 'Mon Feb 27 22:18:10 +0000 2017', 'user': {'is_translation_enabled': False, 'name': 'Zaibatsu News 📎', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/56419930/dailt-tel-newsroom.jpg', 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': -21600, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/2707738656/dd233770e3991717b63e7bf9a844765d_normal.jpeg', 'statuses_count': 70018, 'location': 'In Cyberspace', 'time_zone': 'Central Time (US & Canada)', 'id_str': '93111391', 'is_translator': False, 'url': 'https://t.co/FhxSWI9qUM', 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/93111391/1400832961', 'following': False, 'friends_count': 70972, 'profile_link_color': '0084B4', 'profile_background_tile': True, 'created_at': 'Sat Nov 28 03:36:22 +0000 2009', 'favourites_count': 2756, 'has_extended_profile': False, 'id': 93111391, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/2707738656/dd233770e3991717b63e7bf9a844765d_normal.jpeg', 'followers_count': 84259, 'profile_background_color': 'C0DEED', 'description': 'The tip of the spear for @politics_pr Retweets ≠ endorsements #TheResistance #NotMyPresident #ctl #UniteBlue #TNTweeters #NeverTrump #p2 #libcrib #topprog', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}, 'url': {'urls': [{'display_url': 'plus.google.com/b/115995249680…', 'indices': [0, 23], 'url': 'https://t.co/FhxSWI9qUM', 'expanded_url': 'https://plus.google.com/b/115995249680644491572/115995249680644491572/posts'}]}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/56419930/dailt-tel-newsroom.jpg', 'screen_name': 'ZaibatsuNews', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 1352}, 'in_reply_to_screen_name': None, 'in_reply_to_user_id': None, 'source': 'dlvr.it ', 'text': 'Rumors persist about Chelsea Clinton’s political career https://t.co/1zHeUlNTfq #p2 #ctl https://t.co/nV4uz1bxIZ', 'id': 836339668442472448, 'in_reply_to_status_id_str': None, 'favorite_count': 1, 'is_quote_status': False, 'contributors': None, 'lang': 'en', 'in_reply_to_user_id_str': None, 'in_reply_to_status_id': None, 'retweet_count': 0}"
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'Kyle Griffin', 'screen_name': 'kylegriffin1', 'id_str': '32871086', 'id': 32871086, 'indices': [3, 16]}]}",False,,False,,836342278474072064,,Mon Feb 27 22:28:32 +0000 2017,"{'is_translation_enabled': False, 'name': 'Cocytus', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': '000000', 'follow_request_sent': False, 'utc_offset': -21600, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/800165976754921473/Pg5aq8ee_normal.jpg', 'statuses_count': 21049, 'location': 'Texas', 'time_zone': 'Central Time (US & Canada)', 'id_str': '800154834422800384', 'is_translator': False, 'url': None, 'translator_type': 'none', 'following': False, 'friends_count': 1348, 'profile_link_color': '1B95E0', 'profile_background_tile': False, 'created_at': 'Sun Nov 20 01:52:33 +0000 2016', 'favourites_count': 4835, 'has_extended_profile': True, 'id': 800154834422800384, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/800165976754921473/Pg5aq8ee_normal.jpg', 'followers_count': 406, 'profile_background_color': '000000', 'description': 'Angry American. Put me on a list, get blocked. Putinists/RWNJ GTFO. #NeverMyPresident. #BenedictDonald. #StolenElection. #StillWithHer. #GOPTreason.', 'profile_sidebar_fill_color': '000000', 'entities': {'description': {'urls': []}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '000000', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 'hexogennotsugar', 'lang': 'en', 'profile_use_background_image': False, 'listed_count': 7}",,,"Mobile Web (M5) ","RT @kylegriffin1: Hillary Clinton calls out Trump—urges him to ""step up & speak out"" on hate threats/crimes, says his travel ban ""foments f…",836342278474072064,,0,False,,en,,,267,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'en'}, 'coordinates': None, 'place': None, 'geo': None, 'truncated': True, 'entities': {'urls': [{'display_url': 'twitter.com/i/web/status/8…', 'indices': [121, 144], 'url': 'https://t.co/I3OCwkuYoD', 'expanded_url': 'https://twitter.com/i/web/status/836277504449069056'}], 'symbols': [], 'hashtags': [], 'user_mentions': []}, 'retweeted': False, 'favorited': False, 'favorite_count': 499, 'id_str': '836277504449069056', 'possibly_sensitive': False, 'created_at': 'Mon Feb 27 18:11:09 +0000 2017', 'user': {'is_translation_enabled': False, 'name': 'Kyle Griffin', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/238292858/Twitter_background.png', 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': -18000, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/658832379130200064/YUk99vQB_normal.jpg', 'statuses_count': 24848, 'location': 'Manhattan, NY', 'time_zone': 'Eastern Time (US & Canada)', 'id_str': '32871086', 'is_translator': False, 'url': 'https://t.co/a3chkjZj4w', 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/32871086/1455243585', 'following': False, 'friends_count': 1223, 'profile_link_color': '0084B4', 'profile_background_tile': False, 'created_at': 'Sat Apr 18 12:45:48 +0000 2009', 'favourites_count': 36989, 'has_extended_profile': True, 'id': 32871086, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/658832379130200064/YUk99vQB_normal.jpg', 'followers_count': 75496, 'profile_background_color': 'C0DEED', 'description': ""Producer. MSNBC's @TheLastWord. Honorary Aussie. Opinions mine. Please clap."", 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}, 'url': {'urls': [{'display_url': 'msnbc.com/the-last-word', 'indices': [0, 23], 'url': 'https://t.co/a3chkjZj4w', 'expanded_url': 'http://www.msnbc.com/the-last-word'}]}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/238292858/Twitter_background.png', 'screen_name': 'kylegriffin1', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 1593}, 'in_reply_to_screen_name': None, 'in_reply_to_status_id_str': None, 'source': 'Twitter for iPhone ', 'text': 'Hillary Clinton calls out Trump—urges him to ""step up & speak out"" on hate threats/crimes, says his travel ban ""fom… https://t.co/I3OCwkuYoD', 'id': 836277504449069056, 'in_reply_to_user_id': None, 'is_quote_status': False, 'contributors': None, 'lang': 'en', 'in_reply_to_user_id_str': None, 'in_reply_to_status_id': None, 'retweet_count': 267}",,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': '❄️Ziggy Daddy™', 'screen_name': 'Ziggy_Daddy', 'id_str': '21691269', 'id': 21691269, 'indices': [3, 15]}]}",False,,False,,836342278327316480,,Mon Feb 27 22:28:32 +0000 2017,"{'is_translation_enabled': False, 'name': 'CheraSherman-Breland', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': -21600, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/817246320809242626/Zx4txyVe_normal.jpg', 'statuses_count': 3932, 'location': 'Laurel, MS', 'time_zone': 'Central Time (US & Canada)', 'id_str': '921197083', 'is_translator': False, 'url': 'https://t.co/WHGSfTa0MB', 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/921197083/1483681682', 'following': False, 'friends_count': 2899, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Fri Nov 02 15:02:17 +0000 2012', 'favourites_count': 4385, 'has_extended_profile': True, 'id': 921197083, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/817246320809242626/Zx4txyVe_normal.jpg', 'followers_count': 787, 'profile_background_color': 'C0DEED', 'description': ""Christian, Mother, Wife, Writer, Entrepreneur; Higher consciousness, walking in God's love and aspiring to be a blessing to ALL! GIVE MORE! #UniversalGang"", 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}, 'url': {'urls': [{'display_url': 'cherabreland.myrandf.biz', 'indices': [0, 23], 'url': 'https://t.co/WHGSfTa0MB', 'expanded_url': 'http://www.cherabreland.myrandf.biz'}]}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 's_breland', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 10}",,,"Twitter for iPhone ","RT @Ziggy_Daddy: If you think Hillary should have gone to jail but not Trump, you're beyond a hypocrite, you're actually an asshole.",836342278327316480,,0,False,,en,,,49,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'en'}, 'coordinates': None, 'place': None, 'geo': None, 'truncated': False, 'entities': {'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': []}, 'retweeted': False, 'favorited': False, 'favorite_count': 102, 'id_str': '836305900990164993', 'created_at': 'Mon Feb 27 20:03:59 +0000 2017', 'user': {'is_translation_enabled': False, 'name': '❄️Ziggy Daddy™', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/623249506570665984/YdIdNrp3.jpg', 'profile_sidebar_border_color': 'FFFFFF', 'follow_request_sent': False, 'utc_offset': -25200, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/812882176819609604/FKD6RiU4_normal.jpg', 'statuses_count': 153601, 'location': 'San Diego', 'time_zone': 'Arizona', 'id_str': '21691269', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/21691269/1477536300', 'following': False, 'friends_count': 10638, 'profile_link_color': '1B95E0', 'profile_background_tile': False, 'created_at': 'Mon Feb 23 20:42:11 +0000 2009', 'favourites_count': 2266, 'has_extended_profile': True, 'id': 21691269, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/812882176819609604/FKD6RiU4_normal.jpg', 'followers_count': 11947, 'profile_background_color': '131516', 'description': 'Liberal. Democrat. Latino.', 'profile_sidebar_fill_color': 'EFEFEF', 'entities': {'description': {'urls': []}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/623249506570665984/YdIdNrp3.jpg', 'screen_name': 'Ziggy_Daddy', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 503}, 'in_reply_to_screen_name': None, 'in_reply_to_status_id_str': None, 'source': 'Twitter for iPhone ', 'text': ""If you think Hillary should have gone to jail but not Trump, you're beyond a hypocrite, you're actually an asshole."", 'id': 836305900990164993, 'in_reply_to_user_id': None, 'is_quote_status': False, 'contributors': None, 'lang': 'en', 'in_reply_to_user_id_str': None, 'in_reply_to_status_id': None, 'retweet_count': 49}",,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'JohnTrump fan', 'screen_name': 'JohnTrumpFanKJV', 'id_str': '711627609344516096', 'id': 711627609344516096, 'indices': [3, 19]}]}",False,,False,,836342278092369920,,Mon Feb 27 22:28:32 +0000 2017,"{'is_translation_enabled': False, 'name': 'Rattlesnake1776', 'profile_background_image_url_https': None, 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': None, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://abs.twimg.com/sticky/default_profile_images/default_profile_2_normal.png', 'statuses_count': 5458, 'location': '', 'time_zone': None, 'id_str': '819733430367821825', 'is_translator': False, 'url': None, 'translator_type': 'none', 'following': False, 'friends_count': 273, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Fri Jan 13 02:30:54 +0000 2017', 'favourites_count': 4757, 'has_extended_profile': False, 'id': 819733430367821825, 'default_profile': True, 'profile_image_url': 'http://abs.twimg.com/sticky/default_profile_images/default_profile_2_normal.png', 'followers_count': 189, 'profile_background_color': 'F5F8FA', 'description': '', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': True, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': None, 'screen_name': '1776Rattlesnake', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 2}",,,"Twitter for iPhone ","RT @JohnTrumpFanKJV: Thank you Lord Jesus for sparing our nation from perishing under Satanic Hillary Clinton
-Thank you for giving us Presi…",836342278092369920,,0,False,,en,,,462,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'en'}, 'coordinates': None, 'place': None, 'geo': None, 'truncated': False, 'entities': {'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': []}, 'retweeted': False, 'favorited': False, 'favorite_count': 806, 'id_str': '801755160561192960', 'created_at': 'Thu Nov 24 11:51:40 +0000 2016', 'user': {'is_translation_enabled': False, 'name': 'JohnTrump fan', 'profile_background_image_url_https': None, 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': None, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/788445228017524736/7dk5_yll_normal.jpg', 'statuses_count': 32353, 'location': 'Florida', 'time_zone': None, 'id_str': '711627609344516096', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/711627609344516096/1476039228', 'following': False, 'friends_count': 8654, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Sun Mar 20 18:56:58 +0000 2016', 'favourites_count': 25381, 'has_extended_profile': False, 'id': 711627609344516096, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/788445228017524736/7dk5_yll_normal.jpg', 'followers_count': 9129, 'profile_background_color': 'F5F8FA', 'description': 'Repentance toward God and Faith toward our Lord Jesus Christ.\nKing James Bible Believer.\nYe must be born again.\nPro Life Pro Israel.', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': None, 'screen_name': 'JohnTrumpFanKJV', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 45}, 'in_reply_to_screen_name': None, 'in_reply_to_status_id_str': None, 'source': 'Twitter for Android ', 'text': 'Thank you Lord Jesus for sparing our nation from perishing under Satanic Hillary Clinton\nThank you for giving us President Donald J Trump', 'id': 801755160561192960, 'in_reply_to_user_id': None, 'is_quote_status': False, 'contributors': None, 'lang': 'en', 'in_reply_to_user_id_str': None, 'in_reply_to_status_id': None, 'retweet_count': 462}",,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'Ron *Thug* Hall', 'screen_name': 'RonHall46', 'id_str': '766547376', 'id': 766547376, 'indices': [0, 10]}]}",False,,False,"{'bounding_box': {'coordinates': [[[-73.690707, 40.64329], [-73.655767, 40.64329], [-73.655767, 40.671411], [-73.690707, 40.671411]]], 'type': 'Polygon'}, 'place_type': 'city', 'id': '684ceb6509d97b6c', 'url': 'https://api.twitter.com/1.1/geo/id/684ceb6509d97b6c.json', 'name': 'Lynbrook', 'country': 'United States', 'contained_within': [], 'attributes': {}, 'full_name': 'Lynbrook, NY', 'country_code': 'US'}",836342276855107584,,Mon Feb 27 22:28:31 +0000 2017,"{'is_translation_enabled': False, 'name': 'Raging RN', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': '000000', 'follow_request_sent': False, 'utc_offset': None, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/825811989741973505/Mg-OL3Lf_normal.jpg', 'statuses_count': 9643, 'location': 'Queens, NY', 'time_zone': None, 'id_str': '798222960', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/798222960/1487465048', 'following': False, 'friends_count': 1416, 'profile_link_color': '1B95E0', 'profile_background_tile': False, 'created_at': 'Sun Sep 02 13:04:09 +0000 2012', 'favourites_count': 9306, 'has_extended_profile': False, 'id': 798222960, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/825811989741973505/Mg-OL3Lf_normal.jpg', 'followers_count': 1012, 'profile_background_color': '000000', 'description': 'Mom and Grandma who fears for her family. Proud liberal from a blue state. #TheResistance is hope.', 'profile_sidebar_fill_color': '000000', 'entities': {'description': {'urls': []}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '000000', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 'cmkirkrn', 'lang': 'en', 'profile_use_background_image': False, 'listed_count': 20}",RonHall46,766547376,"Twitter Web Client ","@RonHall46 More importantly, Hillary knew.",836342276855107584,836331540481261568,0,False,,en,766547376,836331540481261568,0,,,,
-"{'result_type': 'recent', 'iso_language_code': 'it'}",,,False,"{'urls': [{'display_url': 'ln.is/www.ilgiornale…', 'indices': [57, 80], 'url': 'https://t.co/mp0uyvrVIW', 'expanded_url': 'http://ln.is/www.ilgiornale.it/ne/zhdO9'}], 'symbols': [], 'hashtags': [], 'user_mentions': [], 'media': [{'sizes': {'thumb': {'resize': 'crop', 'w': 150, 'h': 150}, 'medium': {'resize': 'fit', 'w': 1199, 'h': 783}, 'large': {'resize': 'fit', 'w': 1199, 'h': 783}, 'small': {'resize': 'fit', 'w': 680, 'h': 444}}, 'display_url': 'pic.twitter.com/uW5CAljmd3', 'media_url': 'http://pbs.twimg.com/media/C5tI3boUwAUCF5H.jpg', 'id': 836342272954253317, 'url': 'https://t.co/uW5CAljmd3', 'media_url_https': 'https://pbs.twimg.com/media/C5tI3boUwAUCF5H.jpg', 'id_str': '836342272954253317', 'indices': [81, 104], 'type': 'photo', 'expanded_url': 'https://twitter.com/LegaNordVeneta/status/836342275437391873/photo/1'}]}",False,"{'media': [{'sizes': {'thumb': {'resize': 'crop', 'w': 150, 'h': 150}, 'medium': {'resize': 'fit', 'w': 1199, 'h': 783}, 'large': {'resize': 'fit', 'w': 1199, 'h': 783}, 'small': {'resize': 'fit', 'w': 680, 'h': 444}}, 'display_url': 'pic.twitter.com/uW5CAljmd3', 'media_url': 'http://pbs.twimg.com/media/C5tI3boUwAUCF5H.jpg', 'id': 836342272954253317, 'url': 'https://t.co/uW5CAljmd3', 'media_url_https': 'https://pbs.twimg.com/media/C5tI3boUwAUCF5H.jpg', 'id_str': '836342272954253317', 'indices': [81, 104], 'type': 'photo', 'expanded_url': 'https://twitter.com/LegaNordVeneta/status/836342275437391873/photo/1'}]}",False,,836342275437391873,False,Mon Feb 27 22:28:31 +0000 2017,"{'is_translation_enabled': False, 'name': 'Lega Nord Veneta', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/621105714048671744/iYPKeGfs.jpg', 'profile_sidebar_border_color': '000000', 'follow_request_sent': False, 'utc_offset': 3600, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/789063105112317953/QaUBP8hN_normal.jpg', 'statuses_count': 51923, 'location': 'Venezia, Veneto', 'time_zone': 'Belgrade', 'id_str': '2821366407', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/2821366407/1485965230', 'following': False, 'friends_count': 746, 'profile_link_color': '3B94D9', 'profile_background_tile': False, 'created_at': 'Fri Oct 10 18:54:31 +0000 2014', 'favourites_count': 17783, 'has_extended_profile': False, 'id': 2821366407, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/789063105112317953/QaUBP8hN_normal.jpg', 'followers_count': 2175, 'profile_background_color': '000000', 'description': '#IMMIGRAZIONE #CRIMINIDEICLANDESTINI #GOVERNO \n#EUROPA \n#NOEURO \n#STOPINVASIONE #FORNERO #LAVORO', 'profile_sidebar_fill_color': '000000', 'entities': {'description': {'urls': []}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '000000', 'verified': False, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/621105714048671744/iYPKeGfs.jpg', 'screen_name': 'LegaNordVeneta', 'lang': 'it', 'profile_use_background_image': False, 'listed_count': 43}",,,"Put your button on any page! ","Il viaggio di Renzi negli Usa è stato pagato dai Clinton
-https://t.co/mp0uyvrVIW https://t.co/uW5CAljmd3",836342275437391873,,0,False,,it,,,0,,,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'TRUMP ANOMALY®', 'screen_name': 'ANOMALY1', 'id_str': '181249422', 'id': 181249422, 'indices': [0, 9]}, {'name': 'Brian Fraser', 'screen_name': 'bfraser747', 'id_str': '274891222', 'id': 274891222, 'indices': [10, 21]}]}",False,,False,,836342275261235200,,Mon Feb 27 22:28:31 +0000 2017,"{'is_translation_enabled': False, 'name': 'Fidel Fidel', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': -28800, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/822477525335023617/qjIgz9_r_normal.jpg', 'statuses_count': 8274, 'location': 'undisclosed', 'time_zone': 'Pacific Time (US & Canada)', 'id_str': '302519785', 'is_translator': False, 'url': 'https://t.co/4vAtyOlJH9', 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/302519785/1487430615', 'following': False, 'friends_count': 155, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Sat May 21 09:53:59 +0000 2011', 'favourites_count': 7138, 'has_extended_profile': False, 'id': 302519785, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/822477525335023617/qjIgz9_r_normal.jpg', 'followers_count': 220, 'profile_background_color': 'C0DEED', 'description': 'Christian Conservative Black N Proud ProLife. #TrumpPence2016.BusinessMan N Activist -Jerusalem Eternal Capital of Jews. Political Sports and Fitness enthusiast', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}, 'url': {'urls': [{'display_url': 'twiends.com/fidman_143', 'indices': [0, 23], 'url': 'https://t.co/4vAtyOlJH9', 'expanded_url': 'http://twiends.com/fidman_143'}]}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 'fidman_143', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 17}",ANOMALY1,181249422,"Twitter for Android ","@ANOMALY1 @bfraser747. Hatred to the core. The same thing said by Clinton, Obama why no riots and protests then? Media largely to be blamed.",836342275261235200,836337144411140096,0,False,,en,181249422,836337144411140096,0,,,,
-"{'result_type': 'recent', 'iso_language_code': 'ht'}",,,False,"{'urls': [{'display_url': 'twitter.com/mamadouman/sta…', 'indices': [111, 134], 'url': 'https://t.co/zcl5WUGYM7', 'expanded_url': 'https://twitter.com/mamadouman/status/836194102949609472'}], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'Papa mané #acmilan', 'screen_name': 'mamadouman', 'id_str': '353719596', 'id': 353719596, 'indices': [3, 14]}]}",False,,False,,836342259553554432,False,Mon Feb 27 22:28:27 +0000 2017,"{'is_translation_enabled': False, 'name': 'Yaye Fatou 🌹 🇸🇳', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/378800000080947645/6049a0c573b2dd541f89df78d0b207c6.jpeg', 'profile_sidebar_border_color': '000000', 'follow_request_sent': False, 'utc_offset': 0, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/835936967485448195/OESRNdIp_normal.jpg', 'statuses_count': 20316, 'location': 'DAKAR', 'time_zone': 'Casablanca', 'id_str': '1057564902', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/1057564902/1487691955', 'following': False, 'friends_count': 272, 'profile_link_color': 'F5ABB5', 'profile_background_tile': True, 'created_at': 'Thu Jan 03 11:46:59 +0000 2013', 'favourites_count': 3209, 'has_extended_profile': True, 'id': 1057564902, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/835936967485448195/OESRNdIp_normal.jpg', 'followers_count': 984, 'profile_background_color': 'C0DEED', 'description': '﴿ هَلْ مِنْ خَالِقٍ غَيْرُ اللهِ ﴾\n« Il n’y a pas de créateur autre que Allâh,\n[sôurat FâTir ‘âyah 3]. \n \nCheikh Ibrahim Niass ❤\n Sarakholé Bambara', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/378800000080947645/6049a0c573b2dd541f89df78d0b207c6.jpeg', 'screen_name': 'Memamico', 'lang': 'fr', 'profile_use_background_image': True, 'listed_count': 4}",,,"Twitter for Android ",RT @mamadouman: Ba parei wowatko niko pascal feindouno sila dioud ak domou bil clinton 😂😂😂 goor yonam nekoussi https://t.co/zcl5WUGYM7,836342259553554432,,0,True,,ht,,,53,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'ht'}, 'coordinates': None, 'geo': None, 'truncated': False, 'entities': {'urls': [{'display_url': 'twitter.com/mamadouman/sta…', 'indices': [95, 118], 'url': 'https://t.co/zcl5WUGYM7', 'expanded_url': 'https://twitter.com/mamadouman/status/836194102949609472'}], 'symbols': [], 'hashtags': [], 'user_mentions': []}, 'retweeted': False, 'favorite_count': 36, 'place': None, 'id_str': '836194335821541376', 'possibly_sensitive': False, 'created_at': 'Mon Feb 27 12:40:40 +0000 2017', 'user': {'is_translation_enabled': False, 'name': 'Papa mané #acmilan', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme4/bg.gif', 'profile_sidebar_border_color': '5ED4DC', 'follow_request_sent': False, 'utc_offset': 3600, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/833834477541539841/zdCmonKr_normal.jpg', 'statuses_count': 27479, 'location': 'Senegal', 'time_zone': 'Amsterdam', 'id_str': '353719596', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/353719596/1482531946', 'following': False, 'friends_count': 619, 'profile_link_color': '0099B9', 'profile_background_tile': False, 'created_at': 'Fri Aug 12 14:47:00 +0000 2011', 'favourites_count': 3277, 'has_extended_profile': True, 'id': 353719596, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/833834477541539841/zdCmonKr_normal.jpg', 'followers_count': 1064, 'profile_background_color': '0099B9', 'description': 'ac milan uno di noi #rougenoir #team221 bamba point! saint Etienne 💪💪💪', 'profile_sidebar_fill_color': '95E8EC', 'entities': {'description': {'urls': []}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '3C3940', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme4/bg.gif', 'screen_name': 'mamadouman', 'lang': 'fr', 'profile_use_background_image': True, 'listed_count': 9}, 'in_reply_to_screen_name': None, 'in_reply_to_status_id_str': None, 'source': 'Twitter for Android ', 'text': 'Ba parei wowatko niko pascal feindouno sila dioud ak domou bil clinton 😂😂😂 goor yonam nekoussi https://t.co/zcl5WUGYM7', 'id': 836194335821541376, 'in_reply_to_user_id': None, 'favorited': False, 'is_quote_status': True, 'contributors': None, 'lang': 'ht', 'quoted_status_id_str': '836194102949609472', 'in_reply_to_user_id_str': None, 'quoted_status_id': 836194102949609472, 'in_reply_to_status_id': None, 'quoted_status': {'metadata': {'result_type': 'recent', 'iso_language_code': 'ht'}, 'coordinates': None, 'place': None, 'geo': None, 'truncated': False, 'entities': {'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': []}, 'retweeted': False, 'favorited': False, 'favorite_count': 23, 'id_str': '836194102949609472', 'created_at': 'Mon Feb 27 12:39:44 +0000 2017', 'user': {'is_translation_enabled': False, 'name': 'Papa mané #acmilan', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme4/bg.gif', 'profile_sidebar_border_color': '5ED4DC', 'follow_request_sent': False, 'utc_offset': 3600, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/833834477541539841/zdCmonKr_normal.jpg', 'statuses_count': 27479, 'location': 'Senegal', 'time_zone': 'Amsterdam', 'id_str': '353719596', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/353719596/1482531946', 'following': False, 'friends_count': 619, 'profile_link_color': '0099B9', 'profile_background_tile': False, 'created_at': 'Fri Aug 12 14:47:00 +0000 2011', 'favourites_count': 3277, 'has_extended_profile': True, 'id': 353719596, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/833834477541539841/zdCmonKr_normal.jpg', 'followers_count': 1064, 'profile_background_color': '0099B9', 'description': 'ac milan uno di noi #rougenoir #team221 bamba point! saint Etienne 💪💪💪', 'profile_sidebar_fill_color': '95E8EC', 'entities': {'description': {'urls': []}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '3C3940', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme4/bg.gif', 'screen_name': 'mamadouman', 'lang': 'fr', 'profile_use_background_image': True, 'listed_count': 9}, 'in_reply_to_screen_name': None, 'in_reply_to_status_id_str': None, 'source': 'Twitter for Android ', 'text': 'Sama collegue bi tay la anniv mariageam mou wo diekeur dji niko date bi loum lay fataligayn bi neko mayma ma dougou si net bi 😂😂😂', 'id': 836194102949609472, 'in_reply_to_user_id': None, 'is_quote_status': False, 'contributors': None, 'lang': 'ht', 'in_reply_to_user_id_str': None, 'in_reply_to_status_id': None, 'retweet_count': 15}, 'retweet_count': 53}",836194102949609472,836194102949609472,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'Sean Spicier', 'screen_name': 'sean_spicier', 'id_str': '821511862881845248', 'id': 821511862881845248, 'indices': [3, 16]}]}",False,,False,,836342257443815424,,Mon Feb 27 22:28:27 +0000 2017,"{'is_translation_enabled': False, 'name': 'Jeana Tarr', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': -18000, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/793000335866531840/IQ-FZoZn_normal.jpg', 'statuses_count': 11110, 'location': 'Pennsylvania, USA', 'time_zone': 'America/New_York', 'id_str': '23167589', 'is_translator': False, 'url': None, 'translator_type': 'none', 'following': False, 'friends_count': 1234, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Sat Mar 07 05:08:36 +0000 2009', 'favourites_count': 8417, 'has_extended_profile': True, 'id': 23167589, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/793000335866531840/IQ-FZoZn_normal.jpg', 'followers_count': 840, 'profile_background_color': 'C0DEED', 'description': '', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 'littlebitbad', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 21}",,,"Twitter for Android ","RT @sean_spicier: Special prosecutor wasn't appointed in 2008 when Hillary lost, we're not going to do it because she lost in 2016 either",836342257443815424,,0,False,,en,,,64,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'en'}, 'coordinates': None, 'place': None, 'geo': None, 'truncated': False, 'entities': {'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': []}, 'retweeted': False, 'favorited': False, 'favorite_count': 177, 'id_str': '836329018282688512', 'created_at': 'Mon Feb 27 21:35:50 +0000 2017', 'user': {'is_translation_enabled': False, 'name': 'Sean Spicier', 'profile_background_image_url_https': None, 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': None, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/829466081584640000/4Vg9dEGE_normal.jpg', 'statuses_count': 578, 'location': 'Moscow', 'time_zone': None, 'id_str': '821511862881845248', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/821511862881845248/1485357788', 'following': False, 'friends_count': 1923, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Wed Jan 18 00:17:45 +0000 2017', 'favourites_count': 296, 'has_extended_profile': False, 'id': 821511862881845248, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/829466081584640000/4Vg9dEGE_normal.jpg', 'followers_count': 23661, 'profile_background_color': 'F5F8FA', 'description': ""I'm not him"", 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': None, 'screen_name': 'sean_spicier', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 206}, 'in_reply_to_screen_name': None, 'in_reply_to_status_id_str': None, 'source': 'Twitter for iPhone ', 'text': ""Special prosecutor wasn't appointed in 2008 when Hillary lost, we're not going to do it because she lost in 2016 either"", 'id': 836329018282688512, 'in_reply_to_user_id': None, 'is_quote_status': False, 'contributors': None, 'lang': 'en', 'in_reply_to_user_id_str': None, 'in_reply_to_status_id': None, 'retweet_count': 64}",,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [{'display_url': 'steemit.com/silsby/@psycha…', 'indices': [105, 128], 'url': 'https://t.co/DDevNb3bx2', 'expanded_url': 'https://steemit.com/silsby/@psychanaut/laura-silsby-child-trafficking-in-haiti-with-ties-to-clinton-is-now-laura-galyer-working-at-alertsense-amber-alerts'}], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'gab.ai/perryreynolds', 'screen_name': 'PReynoldsEsq', 'id_str': '811227660764540928', 'id': 811227660764540928, 'indices': [3, 16]}, {'name': 'AMBER Alert', 'screen_name': 'AMBERAlert', 'id_str': '1157861690', 'id': 1157861690, 'indices': [18, 29]}]}",False,,False,,836342255480881153,False,Mon Feb 27 22:28:26 +0000 2017,"{'is_translation_enabled': False, 'name': 'DEPLORABLY FED UP', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': None, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/831562727126683649/gM54Jk35_normal.jpg', 'statuses_count': 122020, 'location': 'New York, USA', 'time_zone': None, 'id_str': '942773174', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/942773174/1481768276', 'following': False, 'friends_count': 1222, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Mon Nov 12 03:49:56 +0000 2012', 'favourites_count': 67539, 'has_extended_profile': False, 'id': 942773174, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/831562727126683649/gM54Jk35_normal.jpg', 'followers_count': 2264, 'profile_background_color': 'C0DEED', 'description': 'R.N.for 30 years ICU/ TRAUMA/OPEN❤️/SICU, LEGAL NURSE CONSULTANT, MOM, WIFE, CHRISTIAN, AUTISM/ JD ADVOCATE ❤️music❤️anime', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 'AuberHirsch', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 222}",,,"Twitter for iPhone ","RT @PReynoldsEsq: @AMBERAlert How can you employ a woman who was CONVICTED FOR STEALING 33 HAITIAN KIDS?
-https://t.co/DDevNb3bx2
-#AMBERALER…",836342255480881153,,0,False,,en,,,162,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'en'}, 'coordinates': None, 'place': None, 'geo': None, 'truncated': True, 'entities': {'urls': [{'display_url': 'steemit.com/silsby/@psycha…', 'indices': [87, 110], 'url': 'https://t.co/DDevNb3bx2', 'expanded_url': 'https://steemit.com/silsby/@psychanaut/laura-silsby-child-trafficking-in-haiti-with-ties-to-clinton-is-now-laura-galyer-working-at-alertsense-amber-alerts'}, {'display_url': 'twitter.com/i/web/status/8…', 'indices': [112, 135], 'url': 'https://t.co/gdCZ4FAwCb', 'expanded_url': 'https://twitter.com/i/web/status/835141760431046656'}], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'AMBER Alert', 'screen_name': 'AMBERAlert', 'id_str': '1157861690', 'id': 1157861690, 'indices': [0, 11]}]}, 'retweeted': False, 'favorited': False, 'favorite_count': 142, 'id_str': '835141760431046656', 'possibly_sensitive': False, 'created_at': 'Fri Feb 24 14:58:06 +0000 2017', 'user': {'is_translation_enabled': False, 'name': 'gab.ai/perryreynolds', 'profile_background_image_url_https': None, 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': None, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/830274852040867840/BzwPNjUW_normal.jpg', 'statuses_count': 1142, 'location': 'Dayton, OH', 'time_zone': None, 'id_str': '811227660764540928', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/811227660764540928/1488146410', 'following': False, 'friends_count': 422, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Tue Dec 20 15:12:01 +0000 2016', 'favourites_count': 1658, 'has_extended_profile': False, 'id': 811227660764540928, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/830274852040867840/BzwPNjUW_normal.jpg', 'followers_count': 655, 'profile_background_color': 'F5F8FA', 'description': '#1A, #2A & property rights. Love Jesus/family/books/music/people/animals/outdoors. Co-founder: Dayton Tea Party #Pizzagate #Pedogate #MAGA', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': None, 'screen_name': 'PReynoldsEsq', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 3}, 'in_reply_to_screen_name': 'AMBERAlert', 'in_reply_to_status_id_str': None, 'source': 'Twitter Web Client ', 'text': '@AMBERAlert How can you employ a woman who was CONVICTED FOR STEALING 33 HAITIAN KIDS?\nhttps://t.co/DDevNb3bx2… https://t.co/gdCZ4FAwCb', 'id': 835141760431046656, 'in_reply_to_user_id': 1157861690, 'is_quote_status': False, 'contributors': None, 'lang': 'en', 'in_reply_to_user_id_str': '1157861690', 'in_reply_to_status_id': None, 'retweet_count': 162}",,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'Donald J. Trump', 'screen_name': 'realDonaldTrump', 'id_str': '25073877', 'id': 25073877, 'indices': [3, 19]}]}",False,,False,,836342255208304640,,Mon Feb 27 22:28:26 +0000 2017,"{'is_translation_enabled': False, 'name': 'John Wayman', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': None, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/2111389023/2008VictorianBall_normal.jpg', 'statuses_count': 8072, 'location': 'Kansas', 'time_zone': None, 'id_str': '551086771', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/551086771/1382245416', 'following': False, 'friends_count': 1180, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Wed Apr 11 15:36:18 +0000 2012', 'favourites_count': 2185, 'has_extended_profile': False, 'id': 551086771, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/2111389023/2008VictorianBall_normal.jpg', 'followers_count': 910, 'profile_background_color': 'C0DEED', 'description': '', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 'JohnWayman2', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 12}",,,"Twitter for Android ","RT @realDonaldTrump: The race for DNC Chairman was, of course, totally ""rigged."" Bernie's guy, like Bernie himself, never had a chance. Cli…",836342255208304640,,0,False,,en,,,17921,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'en'}, 'coordinates': None, 'place': None, 'geo': None, 'truncated': False, 'entities': {'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': []}, 'retweeted': False, 'favorited': False, 'favorite_count': 77686, 'id_str': '835814988686233601', 'created_at': 'Sun Feb 26 11:33:16 +0000 2017', 'user': {'is_translation_enabled': True, 'name': 'Donald J. Trump', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_sidebar_border_color': 'BDDCAD', 'follow_request_sent': False, 'utc_offset': -18000, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'statuses_count': 34545, 'location': 'Washington, DC', 'time_zone': 'Eastern Time (US & Canada)', 'id_str': '25073877', 'is_translator': False, 'url': None, 'translator_type': 'regular', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1485301108', 'following': False, 'friends_count': 43, 'profile_link_color': '0D5B73', 'profile_background_tile': True, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'favourites_count': 45, 'has_extended_profile': False, 'id': 25073877, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'followers_count': 25704608, 'profile_background_color': '6D5C18', 'description': '45th President of the United States of America', 'profile_sidebar_fill_color': 'C5CEC0', 'entities': {'description': {'urls': []}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'screen_name': 'realDonaldTrump', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 65757}, 'in_reply_to_screen_name': None, 'in_reply_to_status_id_str': None, 'source': 'Twitter for Android ', 'text': 'The race for DNC Chairman was, of course, totally ""rigged."" Bernie\'s guy, like Bernie himself, never had a chance. Clinton demanded Perez!', 'id': 835814988686233601, 'in_reply_to_user_id': None, 'is_quote_status': False, 'contributors': None, 'lang': 'en', 'in_reply_to_user_id_str': None, 'in_reply_to_status_id': None, 'retweet_count': 17921}",,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [], 'symbols': [], 'hashtags': [{'text': 'MAGA', 'indices': [48, 53]}, {'text': 'Shesnotmypresident', 'indices': [54, 73]}], 'user_mentions': [], 'media': [{'sizes': {'thumb': {'resize': 'crop', 'w': 150, 'h': 150}, 'medium': {'resize': 'fit', 'w': 604, 'h': 796}, 'large': {'resize': 'fit', 'w': 604, 'h': 796}, 'small': {'resize': 'fit', 'w': 516, 'h': 680}}, 'display_url': 'pic.twitter.com/O22P4G2bu9', 'media_url': 'http://pbs.twimg.com/media/C5tIt2nWgAAtzHM.jpg', 'id': 836342108399239168, 'url': 'https://t.co/O22P4G2bu9', 'media_url_https': 'https://pbs.twimg.com/media/C5tIt2nWgAAtzHM.jpg', 'id_str': '836342108399239168', 'indices': [74, 97], 'type': 'photo', 'expanded_url': 'https://twitter.com/PoliticalWolf7/status/836342286430711808/photo/1'}]}",False,"{'media': [{'sizes': {'thumb': {'resize': 'crop', 'w': 150, 'h': 150}, 'medium': {'resize': 'fit', 'w': 604, 'h': 796}, 'large': {'resize': 'fit', 'w': 604, 'h': 796}, 'small': {'resize': 'fit', 'w': 516, 'h': 680}}, 'display_url': 'pic.twitter.com/O22P4G2bu9', 'media_url': 'http://pbs.twimg.com/media/C5tIt2nWgAAtzHM.jpg', 'id': 836342108399239168, 'url': 'https://t.co/O22P4G2bu9', 'media_url_https': 'https://pbs.twimg.com/media/C5tIt2nWgAAtzHM.jpg', 'id_str': '836342108399239168', 'indices': [74, 97], 'type': 'photo', 'expanded_url': 'https://twitter.com/PoliticalWolf7/status/836342286430711808/photo/1'}]}",False,,836342286430711808,False,Mon Feb 27 22:28:34 +0000 2017,"{'is_translation_enabled': False, 'name': 'TrumpisPresident', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': '000000', 'follow_request_sent': False, 'utc_offset': -28800, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/834953126197276673/m_gh3by6_normal.jpg', 'statuses_count': 43, 'location': 'United States', 'time_zone': 'Pacific Time (US & Canada)', 'id_str': '816117384209727488', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/816117384209727488/1486513081', 'following': False, 'friends_count': 10, 'profile_link_color': '1B95E0', 'profile_background_tile': False, 'created_at': 'Tue Jan 03 03:02:01 +0000 2017', 'favourites_count': 3, 'has_extended_profile': False, 'id': 816117384209727488, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/834953126197276673/m_gh3by6_normal.jpg', 'followers_count': 6, 'profile_background_color': '000000', 'description': 'Follow for Everything Politics: The war against Mainstream Media has begun', 'profile_sidebar_fill_color': '000000', 'entities': {'description': {'urls': []}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '000000', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 'PoliticalWolf7', 'lang': 'en', 'profile_use_background_image': False, 'listed_count': 0}",,,"Twitter Web Client ",Rare photo of Hillary Clinton on the Death Star #MAGA #Shesnotmypresident https://t.co/O22P4G2bu9,836342286430711808,,0,False,,en,,,0,,,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'WikiLeaks', 'screen_name': 'wikileaks', 'id_str': '16589206', 'id': 16589206, 'indices': [3, 13]}]}",False,,False,,836342282160726017,,Mon Feb 27 22:28:33 +0000 2017,"{'is_translation_enabled': False, 'name': 'Elected Mob', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme14/bg.gif', 'profile_sidebar_border_color': 'EEEEEE', 'follow_request_sent': False, 'utc_offset': -28800, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1605135395/Elected_Mob_Logo_1_normal.jpg', 'statuses_count': 41109, 'location': 'San Diego', 'time_zone': 'Pacific Time (US & Canada)', 'id_str': '394817605', 'is_translator': False, 'url': None, 'translator_type': 'none', 'following': False, 'friends_count': 877, 'profile_link_color': '009999', 'profile_background_tile': True, 'created_at': 'Thu Oct 20 17:33:53 +0000 2011', 'favourites_count': 1189, 'has_extended_profile': False, 'id': 394817605, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/1605135395/Elected_Mob_Logo_1_normal.jpg', 'followers_count': 973, 'profile_background_color': '131516', 'description': 'Exposing the ELECTED MOB in the United States and their political mob tactics! #politicalmobtactics #mobtactics #teaparty #tcot #ccot #lnyhbt #ycot', 'profile_sidebar_fill_color': 'EFEFEF', 'entities': {'description': {'urls': []}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme14/bg.gif', 'screen_name': 'ElectedMob', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 95}",,,"Twitter for Android ",RT @wikileaks: Close Hillary Clinton friend Lynn Forester de Rothschild (Economist publisher) is a trustee of the Saudi funded John McCain…,836342282160726017,,0,False,,en,,,6721,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'en'}, 'coordinates': None, 'place': None, 'geo': None, 'truncated': False, 'entities': {'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': []}, 'retweeted': False, 'favorited': False, 'favorite_count': 7669, 'id_str': '836252208513572866', 'created_at': 'Mon Feb 27 16:30:37 +0000 2017', 'user': {'is_translation_enabled': True, 'name': 'WikiLeaks', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/3147857/WL_Hour_Glass.jpg', 'profile_sidebar_border_color': 'BDDCAD', 'follow_request_sent': False, 'utc_offset': 0, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/512138307870785536/Fe00yVS2_normal.png', 'statuses_count': 45746, 'location': 'Everywhere', 'time_zone': 'Dublin', 'id_str': '16589206', 'is_translator': False, 'url': 'http://t.co/CQrSKaiWjG', 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/16589206/1402313050', 'following': False, 'friends_count': 7598, 'profile_link_color': '0084B4', 'profile_background_tile': True, 'created_at': 'Sat Oct 04 06:41:05 +0000 2008', 'favourites_count': 31, 'has_extended_profile': False, 'id': 16589206, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/512138307870785536/Fe00yVS2_normal.png', 'followers_count': 4364396, 'profile_background_color': '9AE4E8', 'description': 'We open governments. Contact: https://t.co/676V6mG02v PGP: A04C 5E09 ED02 B328 03EB 6116 93ED 732E 9231 8DBA\nAlso:\n@WLTaskForce\n@WikiLeaksShop', 'profile_sidebar_fill_color': 'DDFFCC', 'entities': {'description': {'urls': [{'display_url': 'wikileaks.org/#submit', 'indices': [30, 53], 'url': 'https://t.co/676V6mG02v', 'expanded_url': 'https://wikileaks.org/#submit'}]}, 'url': {'urls': [{'display_url': 'wikileaks.org', 'indices': [0, 22], 'url': 'http://t.co/CQrSKaiWjG', 'expanded_url': 'http://wikileaks.org'}]}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/3147857/WL_Hour_Glass.jpg', 'screen_name': 'wikileaks', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 55955}, 'in_reply_to_screen_name': None, 'in_reply_to_status_id_str': None, 'source': 'Twitter Web Client ', 'text': 'Close Hillary Clinton friend Lynn Forester de Rothschild (Economist publisher) is a trustee of the Saudi funded John McCain Institute.', 'id': 836252208513572866, 'in_reply_to_user_id': None, 'is_quote_status': False, 'contributors': None, 'lang': 'en', 'in_reply_to_user_id_str': None, 'in_reply_to_status_id': None, 'retweet_count': 6721}",,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'Ari Berman', 'screen_name': 'AriBerman', 'id_str': '15952856', 'id': 15952856, 'indices': [3, 13]}, {'name': 'Tom Perez', 'screen_name': 'TomPerez', 'id_str': '4797361833', 'id': 4797361833, 'indices': [52, 61]}]}",False,,False,,836342279073894400,,Mon Feb 27 22:28:32 +0000 2017,"{'is_translation_enabled': False, 'name': 'Jeffrey Campagna', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': -18000, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/814980204586303488/iIcpgn-u_normal.jpg', 'statuses_count': 6504, 'location': 'New York', 'time_zone': 'Eastern Time (US & Canada)', 'id_str': '17784669', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/17784669/1482632582', 'following': False, 'friends_count': 1968, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Mon Dec 01 18:09:40 +0000 2008', 'favourites_count': 843, 'has_extended_profile': False, 'id': 17784669, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/814980204586303488/iIcpgn-u_normal.jpg', 'followers_count': 2094, 'profile_background_color': 'C0DEED', 'description': 'Film Producer, Attorney, Columnist, Political Fundraiser/Event Producer/Strategist, and Advocate for LGBT Equality and Human Rights. I tweet about everything.', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 'JeffreyCampagna', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 75}",,,"Twitter for iPhone ","RT @AriBerman: DNC race wasn't Clinton-Sanders 2.0. @TomPerez has strong progressive record, especially on civil rights https://t.co/tqPM9C…",836342279073894400,,0,False,,en,,,314,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'en'}, 'coordinates': None, 'place': None, 'geo': None, 'truncated': False, 'entities': {'urls': [{'display_url': 'thenation.com/article/tom-pe…', 'indices': [105, 128], 'url': 'https://t.co/tqPM9CULpP', 'expanded_url': 'https://www.thenation.com/article/tom-perez-will-be-a-strong-fighter-for-civil-rights/'}], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'Tom Perez', 'screen_name': 'TomPerez', 'id_str': '4797361833', 'id': 4797361833, 'indices': [37, 46]}]}, 'retweeted': False, 'favorited': False, 'favorite_count': 604, 'id_str': '836259820424560640', 'possibly_sensitive': False, 'created_at': 'Mon Feb 27 17:00:52 +0000 2017', 'user': {'is_translation_enabled': False, 'name': 'Ari Berman', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/378800000180720187/y_RFUYF3.jpeg', 'profile_sidebar_border_color': 'FFFFFF', 'follow_request_sent': False, 'utc_offset': -28800, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/820725654601822208/9rHFYZHO_normal.jpg', 'statuses_count': 20441, 'location': 'New York', 'time_zone': 'Pacific Time (US & Canada)', 'id_str': '15952856', 'is_translator': False, 'url': 'https://t.co/KMh1i3E0nz', 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/15952856/1470151342', 'following': False, 'friends_count': 2209, 'profile_link_color': 'C7124B', 'profile_background_tile': False, 'created_at': 'Sat Aug 23 01:46:02 +0000 2008', 'favourites_count': 9374, 'has_extended_profile': True, 'id': 15952856, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/820725654601822208/9rHFYZHO_normal.jpg', 'followers_count': 59916, 'profile_background_color': '0A4778', 'description': 'Author: Give Us the Ballot: The Modern Struggle for Voting Rights in America https://t.co/q5tNcCdQjy Writer: @thenation Speaking: annette@andersonliterary.com', 'profile_sidebar_fill_color': 'FF1D2E', 'entities': {'description': {'urls': [{'display_url': 'amzn.to/2asHld2', 'indices': [77, 100], 'url': 'https://t.co/q5tNcCdQjy', 'expanded_url': 'http://amzn.to/2asHld2'}]}, 'url': {'urls': [{'display_url': 'ari-berman.com', 'indices': [0, 23], 'url': 'https://t.co/KMh1i3E0nz', 'expanded_url': 'http://ari-berman.com/'}]}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '7A3060', 'verified': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/378800000180720187/y_RFUYF3.jpeg', 'screen_name': 'AriBerman', 'lang': 'en', 'profile_use_background_image': False, 'listed_count': 1804}, 'in_reply_to_screen_name': None, 'in_reply_to_status_id_str': None, 'source': 'Twitter Web Client ', 'text': ""DNC race wasn't Clinton-Sanders 2.0. @TomPerez has strong progressive record, especially on civil rights https://t.co/tqPM9CULpP"", 'id': 836259820424560640, 'in_reply_to_user_id': None, 'is_quote_status': False, 'contributors': None, 'lang': 'en', 'in_reply_to_user_id_str': None, 'in_reply_to_status_id': None, 'retweet_count': 314}",,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [{'display_url': 'wnd.com/2017/02/brazil…', 'indices': [79, 102], 'url': 'https://t.co/mVWe2H9eOd', 'expanded_url': 'http://www.wnd.com/2017/02/brazile-i-allegedly-sent-cnn-questions-to-hillary-team/'}], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'All American Girl', 'screen_name': 'AIIAmericanGirI', 'id_str': '1494835716', 'id': 1494835716, 'indices': [3, 19]}]}",False,,False,,836342278847365125,False,Mon Feb 27 22:28:32 +0000 2017,"{'is_translation_enabled': False, 'name': 'R Johnson', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': None, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/550881888924360705/EQDVo4JQ_normal.jpeg', 'statuses_count': 4902, 'location': 'Kentucky & Big Island Hawaii', 'time_zone': None, 'id_str': '2934688673', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/2934688673/1422150666', 'following': False, 'friends_count': 150, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Sun Dec 21 04:05:33 +0000 2014', 'favourites_count': 7556, 'has_extended_profile': False, 'id': 2934688673, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/550881888924360705/EQDVo4JQ_normal.jpeg', 'followers_count': 127, 'profile_background_color': 'C0DEED', 'description': '', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 'rkj79z28', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 11}",,,"Twitter for iPhone ","RT @AIIAmericanGirI: Brazile: I 'allegedly' sent CNN questions to Hillary team
-https://t.co/mVWe2H9eOd",836342278847365125,,0,False,,en,,,10,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'en'}, 'coordinates': None, 'place': None, 'geo': None, 'truncated': False, 'entities': {'urls': [{'display_url': 'wnd.com/2017/02/brazil…', 'indices': [58, 81], 'url': 'https://t.co/mVWe2H9eOd', 'expanded_url': 'http://www.wnd.com/2017/02/brazile-i-allegedly-sent-cnn-questions-to-hillary-team/'}], 'symbols': [], 'hashtags': [], 'user_mentions': []}, 'retweeted': False, 'favorited': False, 'favorite_count': 5, 'id_str': '836337127201914880', 'possibly_sensitive': False, 'created_at': 'Mon Feb 27 22:08:04 +0000 2017', 'user': {'is_translation_enabled': False, 'name': 'All American Girl', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/654127223067115521/VcNZitUj.jpg', 'profile_sidebar_border_color': '000000', 'follow_request_sent': False, 'utc_offset': -21600, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/750210052540076033/mm7WPhWa_normal.jpg', 'statuses_count': 438484, 'location': 'Wisconsin', 'time_zone': 'Central Time (US & Canada)', 'id_str': '1494835716', 'is_translator': False, 'url': 'https://t.co/9c3b1GKAaB', 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/1494835716/1487703049', 'following': False, 'friends_count': 80188, 'profile_link_color': 'CC3366', 'profile_background_tile': False, 'created_at': 'Sun Jun 09 06:56:44 +0000 2013', 'favourites_count': 3411, 'has_extended_profile': False, 'id': 1494835716, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/750210052540076033/mm7WPhWa_normal.jpg', 'followers_count': 93170, 'profile_background_color': 'DBE9ED', 'description': '[ Wife, Mother, Patriot, Friend ] Searching the Internet for news relevant to conservatives. Both good and bad so we can be informed, debate, agree or correct.', 'profile_sidebar_fill_color': '000000', 'entities': {'description': {'urls': []}, 'url': {'urls': [{'display_url': 'facebook.com/AIIAmericanGir…', 'indices': [0, 23], 'url': 'https://t.co/9c3b1GKAaB', 'expanded_url': 'https://www.facebook.com/AIIAmericanGirI/'}]}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '000000', 'verified': False, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/654127223067115521/VcNZitUj.jpg', 'screen_name': 'AIIAmericanGirI', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 871}, 'in_reply_to_screen_name': None, 'in_reply_to_status_id_str': None, 'source': 'Twitter Web Client ', 'text': ""Brazile: I 'allegedly' sent CNN questions to Hillary team\nhttps://t.co/mVWe2H9eOd"", 'id': 836337127201914880, 'in_reply_to_user_id': None, 'is_quote_status': False, 'contributors': None, 'lang': 'en', 'in_reply_to_user_id_str': None, 'in_reply_to_status_id': None, 'retweet_count': 10}",,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [{'display_url': 'twitter.com/zaibatsunews/s…', 'indices': [65, 88], 'url': 'https://t.co/0JcaBj1AWE', 'expanded_url': 'https://twitter.com/zaibatsunews/status/836339668442472448'}], 'symbols': [], 'hashtags': [], 'user_mentions': []}",False,,False,,836342278801223681,False,Mon Feb 27 22:28:32 +0000 2017,"{'is_translation_enabled': False, 'name': 'Birgit Van DeWeterin', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': None, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/798662555615035392/XG7MK28a_normal.jpg', 'statuses_count': 5799, 'location': 'Newcastle Ontario', 'time_zone': None, 'id_str': '1701714408', 'is_translator': False, 'url': 'https://t.co/ynR4jD8BQy', 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/1701714408/1486516850', 'following': False, 'friends_count': 274, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Mon Aug 26 12:04:27 +0000 2013', 'favourites_count': 4757, 'has_extended_profile': False, 'id': 1701714408, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/798662555615035392/XG7MK28a_normal.jpg', 'followers_count': 189, 'profile_background_color': 'C0DEED', 'description': ""grateful wife, proud mama, besotted Omi, artist, music freak and political junkie. Love watching paint dry- if it's watercolour. Artwork on Instagram"", 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}, 'url': {'urls': [{'display_url': 'asherself.ca', 'indices': [0, 23], 'url': 'https://t.co/ynR4jD8BQy', 'expanded_url': 'http://www.asherself.ca'}]}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 'Birgit99Van', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 13}",,,"Twitter for iPhone ",Please. No. I'm Canadian and I'M suffering from Clinton fatigue! https://t.co/0JcaBj1AWE,836342278801223681,,0,True,,en,,,0,,836339668442472448,836339668442472448,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'en'}, 'coordinates': None, 'geo': None, 'truncated': False, 'entities': {'urls': [{'display_url': 'j.mp/2ls03Ew', 'indices': [56, 79], 'url': 'https://t.co/1zHeUlNTfq', 'expanded_url': 'http://j.mp/2ls03Ew'}], 'symbols': [], 'hashtags': [{'text': 'p2', 'indices': [80, 83]}, {'text': 'ctl', 'indices': [84, 88]}], 'user_mentions': [], 'media': [{'sizes': {'thumb': {'resize': 'crop', 'w': 150, 'h': 150}, 'medium': {'resize': 'fit', 'w': 800, 'h': 430}, 'small': {'resize': 'fit', 'w': 680, 'h': 366}, 'large': {'resize': 'fit', 'w': 800, 'h': 430}}, 'display_url': 'pic.twitter.com/nV4uz1bxIZ', 'media_url': 'http://pbs.twimg.com/media/C5tGfmIVMAA2LwB.jpg', 'id': 836339664432738304, 'url': 'https://t.co/nV4uz1bxIZ', 'media_url_https': 'https://pbs.twimg.com/media/C5tGfmIVMAA2LwB.jpg', 'id_str': '836339664432738304', 'indices': [89, 112], 'type': 'photo', 'expanded_url': 'https://twitter.com/ZaibatsuNews/status/836339668442472448/photo/1'}]}, 'retweeted': False, 'extended_entities': {'media': [{'sizes': {'thumb': {'resize': 'crop', 'w': 150, 'h': 150}, 'medium': {'resize': 'fit', 'w': 800, 'h': 430}, 'small': {'resize': 'fit', 'w': 680, 'h': 366}, 'large': {'resize': 'fit', 'w': 800, 'h': 430}}, 'display_url': 'pic.twitter.com/nV4uz1bxIZ', 'media_url': 'http://pbs.twimg.com/media/C5tGfmIVMAA2LwB.jpg', 'id': 836339664432738304, 'url': 'https://t.co/nV4uz1bxIZ', 'media_url_https': 'https://pbs.twimg.com/media/C5tGfmIVMAA2LwB.jpg', 'id_str': '836339664432738304', 'indices': [89, 112], 'type': 'photo', 'expanded_url': 'https://twitter.com/ZaibatsuNews/status/836339668442472448/photo/1'}]}, 'favorited': False, 'place': None, 'id_str': '836339668442472448', 'possibly_sensitive': False, 'created_at': 'Mon Feb 27 22:18:10 +0000 2017', 'user': {'is_translation_enabled': False, 'name': 'Zaibatsu News 📎', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/56419930/dailt-tel-newsroom.jpg', 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': -21600, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/2707738656/dd233770e3991717b63e7bf9a844765d_normal.jpeg', 'statuses_count': 70018, 'location': 'In Cyberspace', 'time_zone': 'Central Time (US & Canada)', 'id_str': '93111391', 'is_translator': False, 'url': 'https://t.co/FhxSWI9qUM', 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/93111391/1400832961', 'following': False, 'friends_count': 70972, 'profile_link_color': '0084B4', 'profile_background_tile': True, 'created_at': 'Sat Nov 28 03:36:22 +0000 2009', 'favourites_count': 2756, 'has_extended_profile': False, 'id': 93111391, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/2707738656/dd233770e3991717b63e7bf9a844765d_normal.jpeg', 'followers_count': 84259, 'profile_background_color': 'C0DEED', 'description': 'The tip of the spear for @politics_pr Retweets ≠ endorsements #TheResistance #NotMyPresident #ctl #UniteBlue #TNTweeters #NeverTrump #p2 #libcrib #topprog', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}, 'url': {'urls': [{'display_url': 'plus.google.com/b/115995249680…', 'indices': [0, 23], 'url': 'https://t.co/FhxSWI9qUM', 'expanded_url': 'https://plus.google.com/b/115995249680644491572/115995249680644491572/posts'}]}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/56419930/dailt-tel-newsroom.jpg', 'screen_name': 'ZaibatsuNews', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 1352}, 'in_reply_to_screen_name': None, 'in_reply_to_user_id': None, 'source': 'dlvr.it ', 'text': 'Rumors persist about Chelsea Clinton’s political career https://t.co/1zHeUlNTfq #p2 #ctl https://t.co/nV4uz1bxIZ', 'id': 836339668442472448, 'in_reply_to_status_id_str': None, 'favorite_count': 1, 'is_quote_status': False, 'contributors': None, 'lang': 'en', 'in_reply_to_user_id_str': None, 'in_reply_to_status_id': None, 'retweet_count': 0}"
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'Kyle Griffin', 'screen_name': 'kylegriffin1', 'id_str': '32871086', 'id': 32871086, 'indices': [3, 16]}]}",False,,False,,836342278474072064,,Mon Feb 27 22:28:32 +0000 2017,"{'is_translation_enabled': False, 'name': 'Cocytus', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': '000000', 'follow_request_sent': False, 'utc_offset': -21600, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/800165976754921473/Pg5aq8ee_normal.jpg', 'statuses_count': 21049, 'location': 'Texas', 'time_zone': 'Central Time (US & Canada)', 'id_str': '800154834422800384', 'is_translator': False, 'url': None, 'translator_type': 'none', 'following': False, 'friends_count': 1348, 'profile_link_color': '1B95E0', 'profile_background_tile': False, 'created_at': 'Sun Nov 20 01:52:33 +0000 2016', 'favourites_count': 4835, 'has_extended_profile': True, 'id': 800154834422800384, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/800165976754921473/Pg5aq8ee_normal.jpg', 'followers_count': 406, 'profile_background_color': '000000', 'description': 'Angry American. Put me on a list, get blocked. Putinists/RWNJ GTFO. #NeverMyPresident. #BenedictDonald. #StolenElection. #StillWithHer. #GOPTreason.', 'profile_sidebar_fill_color': '000000', 'entities': {'description': {'urls': []}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '000000', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 'hexogennotsugar', 'lang': 'en', 'profile_use_background_image': False, 'listed_count': 7}",,,"Mobile Web (M5) ","RT @kylegriffin1: Hillary Clinton calls out Trump—urges him to ""step up & speak out"" on hate threats/crimes, says his travel ban ""foments f…",836342278474072064,,0,False,,en,,,267,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'en'}, 'coordinates': None, 'place': None, 'geo': None, 'truncated': True, 'entities': {'urls': [{'display_url': 'twitter.com/i/web/status/8…', 'indices': [121, 144], 'url': 'https://t.co/I3OCwkuYoD', 'expanded_url': 'https://twitter.com/i/web/status/836277504449069056'}], 'symbols': [], 'hashtags': [], 'user_mentions': []}, 'retweeted': False, 'favorited': False, 'favorite_count': 499, 'id_str': '836277504449069056', 'possibly_sensitive': False, 'created_at': 'Mon Feb 27 18:11:09 +0000 2017', 'user': {'is_translation_enabled': False, 'name': 'Kyle Griffin', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/238292858/Twitter_background.png', 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': -18000, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/658832379130200064/YUk99vQB_normal.jpg', 'statuses_count': 24848, 'location': 'Manhattan, NY', 'time_zone': 'Eastern Time (US & Canada)', 'id_str': '32871086', 'is_translator': False, 'url': 'https://t.co/a3chkjZj4w', 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/32871086/1455243585', 'following': False, 'friends_count': 1223, 'profile_link_color': '0084B4', 'profile_background_tile': False, 'created_at': 'Sat Apr 18 12:45:48 +0000 2009', 'favourites_count': 36989, 'has_extended_profile': True, 'id': 32871086, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/658832379130200064/YUk99vQB_normal.jpg', 'followers_count': 75496, 'profile_background_color': 'C0DEED', 'description': ""Producer. MSNBC's @TheLastWord. Honorary Aussie. Opinions mine. Please clap."", 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}, 'url': {'urls': [{'display_url': 'msnbc.com/the-last-word', 'indices': [0, 23], 'url': 'https://t.co/a3chkjZj4w', 'expanded_url': 'http://www.msnbc.com/the-last-word'}]}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/238292858/Twitter_background.png', 'screen_name': 'kylegriffin1', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 1593}, 'in_reply_to_screen_name': None, 'in_reply_to_status_id_str': None, 'source': 'Twitter for iPhone ', 'text': 'Hillary Clinton calls out Trump—urges him to ""step up & speak out"" on hate threats/crimes, says his travel ban ""fom… https://t.co/I3OCwkuYoD', 'id': 836277504449069056, 'in_reply_to_user_id': None, 'is_quote_status': False, 'contributors': None, 'lang': 'en', 'in_reply_to_user_id_str': None, 'in_reply_to_status_id': None, 'retweet_count': 267}",,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': '❄️Ziggy Daddy™', 'screen_name': 'Ziggy_Daddy', 'id_str': '21691269', 'id': 21691269, 'indices': [3, 15]}]}",False,,False,,836342278327316480,,Mon Feb 27 22:28:32 +0000 2017,"{'is_translation_enabled': False, 'name': 'CheraSherman-Breland', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': -21600, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/817246320809242626/Zx4txyVe_normal.jpg', 'statuses_count': 3932, 'location': 'Laurel, MS', 'time_zone': 'Central Time (US & Canada)', 'id_str': '921197083', 'is_translator': False, 'url': 'https://t.co/WHGSfTa0MB', 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/921197083/1483681682', 'following': False, 'friends_count': 2899, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Fri Nov 02 15:02:17 +0000 2012', 'favourites_count': 4385, 'has_extended_profile': True, 'id': 921197083, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/817246320809242626/Zx4txyVe_normal.jpg', 'followers_count': 787, 'profile_background_color': 'C0DEED', 'description': ""Christian, Mother, Wife, Writer, Entrepreneur; Higher consciousness, walking in God's love and aspiring to be a blessing to ALL! GIVE MORE! #UniversalGang"", 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}, 'url': {'urls': [{'display_url': 'cherabreland.myrandf.biz', 'indices': [0, 23], 'url': 'https://t.co/WHGSfTa0MB', 'expanded_url': 'http://www.cherabreland.myrandf.biz'}]}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 's_breland', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 10}",,,"Twitter for iPhone ","RT @Ziggy_Daddy: If you think Hillary should have gone to jail but not Trump, you're beyond a hypocrite, you're actually an asshole.",836342278327316480,,0,False,,en,,,49,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'en'}, 'coordinates': None, 'place': None, 'geo': None, 'truncated': False, 'entities': {'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': []}, 'retweeted': False, 'favorited': False, 'favorite_count': 102, 'id_str': '836305900990164993', 'created_at': 'Mon Feb 27 20:03:59 +0000 2017', 'user': {'is_translation_enabled': False, 'name': '❄️Ziggy Daddy™', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/623249506570665984/YdIdNrp3.jpg', 'profile_sidebar_border_color': 'FFFFFF', 'follow_request_sent': False, 'utc_offset': -25200, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/812882176819609604/FKD6RiU4_normal.jpg', 'statuses_count': 153601, 'location': 'San Diego', 'time_zone': 'Arizona', 'id_str': '21691269', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/21691269/1477536300', 'following': False, 'friends_count': 10638, 'profile_link_color': '1B95E0', 'profile_background_tile': False, 'created_at': 'Mon Feb 23 20:42:11 +0000 2009', 'favourites_count': 2266, 'has_extended_profile': True, 'id': 21691269, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/812882176819609604/FKD6RiU4_normal.jpg', 'followers_count': 11947, 'profile_background_color': '131516', 'description': 'Liberal. Democrat. Latino.', 'profile_sidebar_fill_color': 'EFEFEF', 'entities': {'description': {'urls': []}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/623249506570665984/YdIdNrp3.jpg', 'screen_name': 'Ziggy_Daddy', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 503}, 'in_reply_to_screen_name': None, 'in_reply_to_status_id_str': None, 'source': 'Twitter for iPhone ', 'text': ""If you think Hillary should have gone to jail but not Trump, you're beyond a hypocrite, you're actually an asshole."", 'id': 836305900990164993, 'in_reply_to_user_id': None, 'is_quote_status': False, 'contributors': None, 'lang': 'en', 'in_reply_to_user_id_str': None, 'in_reply_to_status_id': None, 'retweet_count': 49}",,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'JohnTrump fan', 'screen_name': 'JohnTrumpFanKJV', 'id_str': '711627609344516096', 'id': 711627609344516096, 'indices': [3, 19]}]}",False,,False,,836342278092369920,,Mon Feb 27 22:28:32 +0000 2017,"{'is_translation_enabled': False, 'name': 'Rattlesnake1776', 'profile_background_image_url_https': None, 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': None, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://abs.twimg.com/sticky/default_profile_images/default_profile_2_normal.png', 'statuses_count': 5458, 'location': '', 'time_zone': None, 'id_str': '819733430367821825', 'is_translator': False, 'url': None, 'translator_type': 'none', 'following': False, 'friends_count': 273, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Fri Jan 13 02:30:54 +0000 2017', 'favourites_count': 4757, 'has_extended_profile': False, 'id': 819733430367821825, 'default_profile': True, 'profile_image_url': 'http://abs.twimg.com/sticky/default_profile_images/default_profile_2_normal.png', 'followers_count': 189, 'profile_background_color': 'F5F8FA', 'description': '', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': True, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': None, 'screen_name': '1776Rattlesnake', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 2}",,,"Twitter for iPhone ","RT @JohnTrumpFanKJV: Thank you Lord Jesus for sparing our nation from perishing under Satanic Hillary Clinton
-Thank you for giving us Presi…",836342278092369920,,0,False,,en,,,462,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'en'}, 'coordinates': None, 'place': None, 'geo': None, 'truncated': False, 'entities': {'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': []}, 'retweeted': False, 'favorited': False, 'favorite_count': 806, 'id_str': '801755160561192960', 'created_at': 'Thu Nov 24 11:51:40 +0000 2016', 'user': {'is_translation_enabled': False, 'name': 'JohnTrump fan', 'profile_background_image_url_https': None, 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': None, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/788445228017524736/7dk5_yll_normal.jpg', 'statuses_count': 32353, 'location': 'Florida', 'time_zone': None, 'id_str': '711627609344516096', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/711627609344516096/1476039228', 'following': False, 'friends_count': 8654, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Sun Mar 20 18:56:58 +0000 2016', 'favourites_count': 25381, 'has_extended_profile': False, 'id': 711627609344516096, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/788445228017524736/7dk5_yll_normal.jpg', 'followers_count': 9129, 'profile_background_color': 'F5F8FA', 'description': 'Repentance toward God and Faith toward our Lord Jesus Christ.\nKing James Bible Believer.\nYe must be born again.\nPro Life Pro Israel.', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': None, 'screen_name': 'JohnTrumpFanKJV', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 45}, 'in_reply_to_screen_name': None, 'in_reply_to_status_id_str': None, 'source': 'Twitter for Android ', 'text': 'Thank you Lord Jesus for sparing our nation from perishing under Satanic Hillary Clinton\nThank you for giving us President Donald J Trump', 'id': 801755160561192960, 'in_reply_to_user_id': None, 'is_quote_status': False, 'contributors': None, 'lang': 'en', 'in_reply_to_user_id_str': None, 'in_reply_to_status_id': None, 'retweet_count': 462}",,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'Ron *Thug* Hall', 'screen_name': 'RonHall46', 'id_str': '766547376', 'id': 766547376, 'indices': [0, 10]}]}",False,,False,"{'bounding_box': {'coordinates': [[[-73.690707, 40.64329], [-73.655767, 40.64329], [-73.655767, 40.671411], [-73.690707, 40.671411]]], 'type': 'Polygon'}, 'place_type': 'city', 'id': '684ceb6509d97b6c', 'url': 'https://api.twitter.com/1.1/geo/id/684ceb6509d97b6c.json', 'name': 'Lynbrook', 'country': 'United States', 'contained_within': [], 'attributes': {}, 'full_name': 'Lynbrook, NY', 'country_code': 'US'}",836342276855107584,,Mon Feb 27 22:28:31 +0000 2017,"{'is_translation_enabled': False, 'name': 'Raging RN', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': '000000', 'follow_request_sent': False, 'utc_offset': None, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/825811989741973505/Mg-OL3Lf_normal.jpg', 'statuses_count': 9643, 'location': 'Queens, NY', 'time_zone': None, 'id_str': '798222960', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/798222960/1487465048', 'following': False, 'friends_count': 1416, 'profile_link_color': '1B95E0', 'profile_background_tile': False, 'created_at': 'Sun Sep 02 13:04:09 +0000 2012', 'favourites_count': 9306, 'has_extended_profile': False, 'id': 798222960, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/825811989741973505/Mg-OL3Lf_normal.jpg', 'followers_count': 1012, 'profile_background_color': '000000', 'description': 'Mom and Grandma who fears for her family. Proud liberal from a blue state. #TheResistance is hope.', 'profile_sidebar_fill_color': '000000', 'entities': {'description': {'urls': []}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '000000', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 'cmkirkrn', 'lang': 'en', 'profile_use_background_image': False, 'listed_count': 20}",RonHall46,766547376,"Twitter Web Client ","@RonHall46 More importantly, Hillary knew.",836342276855107584,836331540481261568,0,False,,en,766547376,836331540481261568,0,,,,
-"{'result_type': 'recent', 'iso_language_code': 'it'}",,,False,"{'urls': [{'display_url': 'ln.is/www.ilgiornale…', 'indices': [57, 80], 'url': 'https://t.co/mp0uyvrVIW', 'expanded_url': 'http://ln.is/www.ilgiornale.it/ne/zhdO9'}], 'symbols': [], 'hashtags': [], 'user_mentions': [], 'media': [{'sizes': {'thumb': {'resize': 'crop', 'w': 150, 'h': 150}, 'medium': {'resize': 'fit', 'w': 1199, 'h': 783}, 'large': {'resize': 'fit', 'w': 1199, 'h': 783}, 'small': {'resize': 'fit', 'w': 680, 'h': 444}}, 'display_url': 'pic.twitter.com/uW5CAljmd3', 'media_url': 'http://pbs.twimg.com/media/C5tI3boUwAUCF5H.jpg', 'id': 836342272954253317, 'url': 'https://t.co/uW5CAljmd3', 'media_url_https': 'https://pbs.twimg.com/media/C5tI3boUwAUCF5H.jpg', 'id_str': '836342272954253317', 'indices': [81, 104], 'type': 'photo', 'expanded_url': 'https://twitter.com/LegaNordVeneta/status/836342275437391873/photo/1'}]}",False,"{'media': [{'sizes': {'thumb': {'resize': 'crop', 'w': 150, 'h': 150}, 'medium': {'resize': 'fit', 'w': 1199, 'h': 783}, 'large': {'resize': 'fit', 'w': 1199, 'h': 783}, 'small': {'resize': 'fit', 'w': 680, 'h': 444}}, 'display_url': 'pic.twitter.com/uW5CAljmd3', 'media_url': 'http://pbs.twimg.com/media/C5tI3boUwAUCF5H.jpg', 'id': 836342272954253317, 'url': 'https://t.co/uW5CAljmd3', 'media_url_https': 'https://pbs.twimg.com/media/C5tI3boUwAUCF5H.jpg', 'id_str': '836342272954253317', 'indices': [81, 104], 'type': 'photo', 'expanded_url': 'https://twitter.com/LegaNordVeneta/status/836342275437391873/photo/1'}]}",False,,836342275437391873,False,Mon Feb 27 22:28:31 +0000 2017,"{'is_translation_enabled': False, 'name': 'Lega Nord Veneta', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/621105714048671744/iYPKeGfs.jpg', 'profile_sidebar_border_color': '000000', 'follow_request_sent': False, 'utc_offset': 3600, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/789063105112317953/QaUBP8hN_normal.jpg', 'statuses_count': 51923, 'location': 'Venezia, Veneto', 'time_zone': 'Belgrade', 'id_str': '2821366407', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/2821366407/1485965230', 'following': False, 'friends_count': 746, 'profile_link_color': '3B94D9', 'profile_background_tile': False, 'created_at': 'Fri Oct 10 18:54:31 +0000 2014', 'favourites_count': 17783, 'has_extended_profile': False, 'id': 2821366407, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/789063105112317953/QaUBP8hN_normal.jpg', 'followers_count': 2175, 'profile_background_color': '000000', 'description': '#IMMIGRAZIONE #CRIMINIDEICLANDESTINI #GOVERNO \n#EUROPA \n#NOEURO \n#STOPINVASIONE #FORNERO #LAVORO', 'profile_sidebar_fill_color': '000000', 'entities': {'description': {'urls': []}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '000000', 'verified': False, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/621105714048671744/iYPKeGfs.jpg', 'screen_name': 'LegaNordVeneta', 'lang': 'it', 'profile_use_background_image': False, 'listed_count': 43}",,,"Put your button on any page! ","Il viaggio di Renzi negli Usa è stato pagato dai Clinton
-https://t.co/mp0uyvrVIW https://t.co/uW5CAljmd3",836342275437391873,,0,False,,it,,,0,,,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'TRUMP ANOMALY®', 'screen_name': 'ANOMALY1', 'id_str': '181249422', 'id': 181249422, 'indices': [0, 9]}, {'name': 'Brian Fraser', 'screen_name': 'bfraser747', 'id_str': '274891222', 'id': 274891222, 'indices': [10, 21]}]}",False,,False,,836342275261235200,,Mon Feb 27 22:28:31 +0000 2017,"{'is_translation_enabled': False, 'name': 'Fidel Fidel', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': -28800, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/822477525335023617/qjIgz9_r_normal.jpg', 'statuses_count': 8274, 'location': 'undisclosed', 'time_zone': 'Pacific Time (US & Canada)', 'id_str': '302519785', 'is_translator': False, 'url': 'https://t.co/4vAtyOlJH9', 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/302519785/1487430615', 'following': False, 'friends_count': 155, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Sat May 21 09:53:59 +0000 2011', 'favourites_count': 7138, 'has_extended_profile': False, 'id': 302519785, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/822477525335023617/qjIgz9_r_normal.jpg', 'followers_count': 220, 'profile_background_color': 'C0DEED', 'description': 'Christian Conservative Black N Proud ProLife. #TrumpPence2016.BusinessMan N Activist -Jerusalem Eternal Capital of Jews. Political Sports and Fitness enthusiast', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}, 'url': {'urls': [{'display_url': 'twiends.com/fidman_143', 'indices': [0, 23], 'url': 'https://t.co/4vAtyOlJH9', 'expanded_url': 'http://twiends.com/fidman_143'}]}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 'fidman_143', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 17}",ANOMALY1,181249422,"Twitter for Android ","@ANOMALY1 @bfraser747. Hatred to the core. The same thing said by Clinton, Obama why no riots and protests then? Media largely to be blamed.",836342275261235200,836337144411140096,0,False,,en,181249422,836337144411140096,0,,,,
-"{'result_type': 'recent', 'iso_language_code': 'ht'}",,,False,"{'urls': [{'display_url': 'twitter.com/mamadouman/sta…', 'indices': [111, 134], 'url': 'https://t.co/zcl5WUGYM7', 'expanded_url': 'https://twitter.com/mamadouman/status/836194102949609472'}], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'Papa mané #acmilan', 'screen_name': 'mamadouman', 'id_str': '353719596', 'id': 353719596, 'indices': [3, 14]}]}",False,,False,,836342259553554432,False,Mon Feb 27 22:28:27 +0000 2017,"{'is_translation_enabled': False, 'name': 'Yaye Fatou 🌹 🇸🇳', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/378800000080947645/6049a0c573b2dd541f89df78d0b207c6.jpeg', 'profile_sidebar_border_color': '000000', 'follow_request_sent': False, 'utc_offset': 0, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/835936967485448195/OESRNdIp_normal.jpg', 'statuses_count': 20316, 'location': 'DAKAR', 'time_zone': 'Casablanca', 'id_str': '1057564902', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/1057564902/1487691955', 'following': False, 'friends_count': 272, 'profile_link_color': 'F5ABB5', 'profile_background_tile': True, 'created_at': 'Thu Jan 03 11:46:59 +0000 2013', 'favourites_count': 3209, 'has_extended_profile': True, 'id': 1057564902, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/835936967485448195/OESRNdIp_normal.jpg', 'followers_count': 984, 'profile_background_color': 'C0DEED', 'description': '﴿ هَلْ مِنْ خَالِقٍ غَيْرُ اللهِ ﴾\n« Il n’y a pas de créateur autre que Allâh,\n[sôurat FâTir ‘âyah 3]. \n \nCheikh Ibrahim Niass ❤\n Sarakholé Bambara', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/378800000080947645/6049a0c573b2dd541f89df78d0b207c6.jpeg', 'screen_name': 'Memamico', 'lang': 'fr', 'profile_use_background_image': True, 'listed_count': 4}",,,"Twitter for Android ",RT @mamadouman: Ba parei wowatko niko pascal feindouno sila dioud ak domou bil clinton 😂😂😂 goor yonam nekoussi https://t.co/zcl5WUGYM7,836342259553554432,,0,True,,ht,,,53,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'ht'}, 'coordinates': None, 'geo': None, 'truncated': False, 'entities': {'urls': [{'display_url': 'twitter.com/mamadouman/sta…', 'indices': [95, 118], 'url': 'https://t.co/zcl5WUGYM7', 'expanded_url': 'https://twitter.com/mamadouman/status/836194102949609472'}], 'symbols': [], 'hashtags': [], 'user_mentions': []}, 'retweeted': False, 'favorite_count': 36, 'place': None, 'id_str': '836194335821541376', 'possibly_sensitive': False, 'created_at': 'Mon Feb 27 12:40:40 +0000 2017', 'user': {'is_translation_enabled': False, 'name': 'Papa mané #acmilan', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme4/bg.gif', 'profile_sidebar_border_color': '5ED4DC', 'follow_request_sent': False, 'utc_offset': 3600, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/833834477541539841/zdCmonKr_normal.jpg', 'statuses_count': 27479, 'location': 'Senegal', 'time_zone': 'Amsterdam', 'id_str': '353719596', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/353719596/1482531946', 'following': False, 'friends_count': 619, 'profile_link_color': '0099B9', 'profile_background_tile': False, 'created_at': 'Fri Aug 12 14:47:00 +0000 2011', 'favourites_count': 3277, 'has_extended_profile': True, 'id': 353719596, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/833834477541539841/zdCmonKr_normal.jpg', 'followers_count': 1064, 'profile_background_color': '0099B9', 'description': 'ac milan uno di noi #rougenoir #team221 bamba point! saint Etienne 💪💪💪', 'profile_sidebar_fill_color': '95E8EC', 'entities': {'description': {'urls': []}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '3C3940', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme4/bg.gif', 'screen_name': 'mamadouman', 'lang': 'fr', 'profile_use_background_image': True, 'listed_count': 9}, 'in_reply_to_screen_name': None, 'in_reply_to_status_id_str': None, 'source': 'Twitter for Android ', 'text': 'Ba parei wowatko niko pascal feindouno sila dioud ak domou bil clinton 😂😂😂 goor yonam nekoussi https://t.co/zcl5WUGYM7', 'id': 836194335821541376, 'in_reply_to_user_id': None, 'favorited': False, 'is_quote_status': True, 'contributors': None, 'lang': 'ht', 'quoted_status_id_str': '836194102949609472', 'in_reply_to_user_id_str': None, 'quoted_status_id': 836194102949609472, 'in_reply_to_status_id': None, 'quoted_status': {'metadata': {'result_type': 'recent', 'iso_language_code': 'ht'}, 'coordinates': None, 'place': None, 'geo': None, 'truncated': False, 'entities': {'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': []}, 'retweeted': False, 'favorited': False, 'favorite_count': 23, 'id_str': '836194102949609472', 'created_at': 'Mon Feb 27 12:39:44 +0000 2017', 'user': {'is_translation_enabled': False, 'name': 'Papa mané #acmilan', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme4/bg.gif', 'profile_sidebar_border_color': '5ED4DC', 'follow_request_sent': False, 'utc_offset': 3600, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/833834477541539841/zdCmonKr_normal.jpg', 'statuses_count': 27479, 'location': 'Senegal', 'time_zone': 'Amsterdam', 'id_str': '353719596', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/353719596/1482531946', 'following': False, 'friends_count': 619, 'profile_link_color': '0099B9', 'profile_background_tile': False, 'created_at': 'Fri Aug 12 14:47:00 +0000 2011', 'favourites_count': 3277, 'has_extended_profile': True, 'id': 353719596, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/833834477541539841/zdCmonKr_normal.jpg', 'followers_count': 1064, 'profile_background_color': '0099B9', 'description': 'ac milan uno di noi #rougenoir #team221 bamba point! saint Etienne 💪💪💪', 'profile_sidebar_fill_color': '95E8EC', 'entities': {'description': {'urls': []}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '3C3940', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme4/bg.gif', 'screen_name': 'mamadouman', 'lang': 'fr', 'profile_use_background_image': True, 'listed_count': 9}, 'in_reply_to_screen_name': None, 'in_reply_to_status_id_str': None, 'source': 'Twitter for Android ', 'text': 'Sama collegue bi tay la anniv mariageam mou wo diekeur dji niko date bi loum lay fataligayn bi neko mayma ma dougou si net bi 😂😂😂', 'id': 836194102949609472, 'in_reply_to_user_id': None, 'is_quote_status': False, 'contributors': None, 'lang': 'ht', 'in_reply_to_user_id_str': None, 'in_reply_to_status_id': None, 'retweet_count': 15}, 'retweet_count': 53}",836194102949609472,836194102949609472,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'Sean Spicier', 'screen_name': 'sean_spicier', 'id_str': '821511862881845248', 'id': 821511862881845248, 'indices': [3, 16]}]}",False,,False,,836342257443815424,,Mon Feb 27 22:28:27 +0000 2017,"{'is_translation_enabled': False, 'name': 'Jeana Tarr', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': -18000, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/793000335866531840/IQ-FZoZn_normal.jpg', 'statuses_count': 11110, 'location': 'Pennsylvania, USA', 'time_zone': 'America/New_York', 'id_str': '23167589', 'is_translator': False, 'url': None, 'translator_type': 'none', 'following': False, 'friends_count': 1234, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Sat Mar 07 05:08:36 +0000 2009', 'favourites_count': 8417, 'has_extended_profile': True, 'id': 23167589, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/793000335866531840/IQ-FZoZn_normal.jpg', 'followers_count': 840, 'profile_background_color': 'C0DEED', 'description': '', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 'littlebitbad', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 21}",,,"Twitter for Android ","RT @sean_spicier: Special prosecutor wasn't appointed in 2008 when Hillary lost, we're not going to do it because she lost in 2016 either",836342257443815424,,0,False,,en,,,64,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'en'}, 'coordinates': None, 'place': None, 'geo': None, 'truncated': False, 'entities': {'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': []}, 'retweeted': False, 'favorited': False, 'favorite_count': 177, 'id_str': '836329018282688512', 'created_at': 'Mon Feb 27 21:35:50 +0000 2017', 'user': {'is_translation_enabled': False, 'name': 'Sean Spicier', 'profile_background_image_url_https': None, 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': None, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/829466081584640000/4Vg9dEGE_normal.jpg', 'statuses_count': 578, 'location': 'Moscow', 'time_zone': None, 'id_str': '821511862881845248', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/821511862881845248/1485357788', 'following': False, 'friends_count': 1923, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Wed Jan 18 00:17:45 +0000 2017', 'favourites_count': 296, 'has_extended_profile': False, 'id': 821511862881845248, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/829466081584640000/4Vg9dEGE_normal.jpg', 'followers_count': 23661, 'profile_background_color': 'F5F8FA', 'description': ""I'm not him"", 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': None, 'screen_name': 'sean_spicier', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 206}, 'in_reply_to_screen_name': None, 'in_reply_to_status_id_str': None, 'source': 'Twitter for iPhone ', 'text': ""Special prosecutor wasn't appointed in 2008 when Hillary lost, we're not going to do it because she lost in 2016 either"", 'id': 836329018282688512, 'in_reply_to_user_id': None, 'is_quote_status': False, 'contributors': None, 'lang': 'en', 'in_reply_to_user_id_str': None, 'in_reply_to_status_id': None, 'retweet_count': 64}",,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [{'display_url': 'steemit.com/silsby/@psycha…', 'indices': [105, 128], 'url': 'https://t.co/DDevNb3bx2', 'expanded_url': 'https://steemit.com/silsby/@psychanaut/laura-silsby-child-trafficking-in-haiti-with-ties-to-clinton-is-now-laura-galyer-working-at-alertsense-amber-alerts'}], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'gab.ai/perryreynolds', 'screen_name': 'PReynoldsEsq', 'id_str': '811227660764540928', 'id': 811227660764540928, 'indices': [3, 16]}, {'name': 'AMBER Alert', 'screen_name': 'AMBERAlert', 'id_str': '1157861690', 'id': 1157861690, 'indices': [18, 29]}]}",False,,False,,836342255480881153,False,Mon Feb 27 22:28:26 +0000 2017,"{'is_translation_enabled': False, 'name': 'DEPLORABLY FED UP', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': None, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/831562727126683649/gM54Jk35_normal.jpg', 'statuses_count': 122020, 'location': 'New York, USA', 'time_zone': None, 'id_str': '942773174', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/942773174/1481768276', 'following': False, 'friends_count': 1222, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Mon Nov 12 03:49:56 +0000 2012', 'favourites_count': 67539, 'has_extended_profile': False, 'id': 942773174, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/831562727126683649/gM54Jk35_normal.jpg', 'followers_count': 2264, 'profile_background_color': 'C0DEED', 'description': 'R.N.for 30 years ICU/ TRAUMA/OPEN❤️/SICU, LEGAL NURSE CONSULTANT, MOM, WIFE, CHRISTIAN, AUTISM/ JD ADVOCATE ❤️music❤️anime', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 'AuberHirsch', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 222}",,,"Twitter for iPhone ","RT @PReynoldsEsq: @AMBERAlert How can you employ a woman who was CONVICTED FOR STEALING 33 HAITIAN KIDS?
-https://t.co/DDevNb3bx2
-#AMBERALER…",836342255480881153,,0,False,,en,,,162,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'en'}, 'coordinates': None, 'place': None, 'geo': None, 'truncated': True, 'entities': {'urls': [{'display_url': 'steemit.com/silsby/@psycha…', 'indices': [87, 110], 'url': 'https://t.co/DDevNb3bx2', 'expanded_url': 'https://steemit.com/silsby/@psychanaut/laura-silsby-child-trafficking-in-haiti-with-ties-to-clinton-is-now-laura-galyer-working-at-alertsense-amber-alerts'}, {'display_url': 'twitter.com/i/web/status/8…', 'indices': [112, 135], 'url': 'https://t.co/gdCZ4FAwCb', 'expanded_url': 'https://twitter.com/i/web/status/835141760431046656'}], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'AMBER Alert', 'screen_name': 'AMBERAlert', 'id_str': '1157861690', 'id': 1157861690, 'indices': [0, 11]}]}, 'retweeted': False, 'favorited': False, 'favorite_count': 142, 'id_str': '835141760431046656', 'possibly_sensitive': False, 'created_at': 'Fri Feb 24 14:58:06 +0000 2017', 'user': {'is_translation_enabled': False, 'name': 'gab.ai/perryreynolds', 'profile_background_image_url_https': None, 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': None, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/830274852040867840/BzwPNjUW_normal.jpg', 'statuses_count': 1142, 'location': 'Dayton, OH', 'time_zone': None, 'id_str': '811227660764540928', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/811227660764540928/1488146410', 'following': False, 'friends_count': 422, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Tue Dec 20 15:12:01 +0000 2016', 'favourites_count': 1658, 'has_extended_profile': False, 'id': 811227660764540928, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/830274852040867840/BzwPNjUW_normal.jpg', 'followers_count': 655, 'profile_background_color': 'F5F8FA', 'description': '#1A, #2A & property rights. Love Jesus/family/books/music/people/animals/outdoors. Co-founder: Dayton Tea Party #Pizzagate #Pedogate #MAGA', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': None, 'screen_name': 'PReynoldsEsq', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 3}, 'in_reply_to_screen_name': 'AMBERAlert', 'in_reply_to_status_id_str': None, 'source': 'Twitter Web Client ', 'text': '@AMBERAlert How can you employ a woman who was CONVICTED FOR STEALING 33 HAITIAN KIDS?\nhttps://t.co/DDevNb3bx2… https://t.co/gdCZ4FAwCb', 'id': 835141760431046656, 'in_reply_to_user_id': 1157861690, 'is_quote_status': False, 'contributors': None, 'lang': 'en', 'in_reply_to_user_id_str': '1157861690', 'in_reply_to_status_id': None, 'retweet_count': 162}",,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'Donald J. Trump', 'screen_name': 'realDonaldTrump', 'id_str': '25073877', 'id': 25073877, 'indices': [3, 19]}]}",False,,False,,836342255208304640,,Mon Feb 27 22:28:26 +0000 2017,"{'is_translation_enabled': False, 'name': 'John Wayman', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': None, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/2111389023/2008VictorianBall_normal.jpg', 'statuses_count': 8072, 'location': 'Kansas', 'time_zone': None, 'id_str': '551086771', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/551086771/1382245416', 'following': False, 'friends_count': 1180, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Wed Apr 11 15:36:18 +0000 2012', 'favourites_count': 2185, 'has_extended_profile': False, 'id': 551086771, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/2111389023/2008VictorianBall_normal.jpg', 'followers_count': 910, 'profile_background_color': 'C0DEED', 'description': '', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 'JohnWayman2', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 12}",,,"Twitter for Android ","RT @realDonaldTrump: The race for DNC Chairman was, of course, totally ""rigged."" Bernie's guy, like Bernie himself, never had a chance. Cli…",836342255208304640,,0,False,,en,,,17921,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'en'}, 'coordinates': None, 'place': None, 'geo': None, 'truncated': False, 'entities': {'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': []}, 'retweeted': False, 'favorited': False, 'favorite_count': 77686, 'id_str': '835814988686233601', 'created_at': 'Sun Feb 26 11:33:16 +0000 2017', 'user': {'is_translation_enabled': True, 'name': 'Donald J. Trump', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'profile_sidebar_border_color': 'BDDCAD', 'follow_request_sent': False, 'utc_offset': -18000, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'statuses_count': 34545, 'location': 'Washington, DC', 'time_zone': 'Eastern Time (US & Canada)', 'id_str': '25073877', 'is_translator': False, 'url': None, 'translator_type': 'regular', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/25073877/1485301108', 'following': False, 'friends_count': 43, 'profile_link_color': '0D5B73', 'profile_background_tile': True, 'created_at': 'Wed Mar 18 13:46:38 +0000 2009', 'favourites_count': 45, 'has_extended_profile': False, 'id': 25073877, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/1980294624/DJT_Headshot_V2_normal.jpg', 'followers_count': 25704608, 'profile_background_color': '6D5C18', 'description': '45th President of the United States of America', 'profile_sidebar_fill_color': 'C5CEC0', 'entities': {'description': {'urls': []}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/530021613/trump_scotland__43_of_70_cc.jpg', 'screen_name': 'realDonaldTrump', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 65757}, 'in_reply_to_screen_name': None, 'in_reply_to_status_id_str': None, 'source': 'Twitter for Android ', 'text': 'The race for DNC Chairman was, of course, totally ""rigged."" Bernie\'s guy, like Bernie himself, never had a chance. Clinton demanded Perez!', 'id': 835814988686233601, 'in_reply_to_user_id': None, 'is_quote_status': False, 'contributors': None, 'lang': 'en', 'in_reply_to_user_id_str': None, 'in_reply_to_status_id': None, 'retweet_count': 17921}",,,
diff --git a/notebooks/query_results2.csv b/notebooks/query_results2.csv
deleted file mode 100644
index e78e25f..0000000
--- a/notebooks/query_results2.csv
+++ /dev/null
@@ -1,22 +0,0 @@
-metadata,coordinates,geo,truncated,entities,retweeted,favorite_count,place,id_str,retweeted_status,created_at,in_reply_to_screen_name,in_reply_to_status_id_str,source,text,id,in_reply_to_user_id,favorited,is_quote_status,contributors,lang,in_reply_to_user_id_str,user,in_reply_to_status_id,retweet_count,possibly_sensitive,extended_entities,quoted_status_id_str,quoted_status_id,quoted_status
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'Ann Coulter', 'screen_name': 'AnnCoulter', 'id_str': '196168350', 'id': 196168350, 'indices': [3, 14]}]}",False,0,,836342287592456193,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'en'}, 'coordinates': None, 'place': None, 'geo': None, 'truncated': False, 'entities': {'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': []}, 'retweeted': False, 'favorited': False, 'favorite_count': 9493, 'id_str': '836286215129346050', 'created_at': 'Mon Feb 27 18:45:45 +0000 2017', 'user': {'is_translation_enabled': False, 'name': 'Ann Coulter', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': '000000', 'follow_request_sent': False, 'utc_offset': -18000, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/598204767739981825/iD1DZBbS_normal.jpg', 'statuses_count': 24331, 'location': 'Los Angeles/NYC', 'time_zone': 'Quito', 'id_str': '196168350', 'is_translator': False, 'url': 'http://t.co/yOTZER5hRn', 'translator_type': 'none', 'following': False, 'friends_count': 661, 'profile_link_color': 'F5ABB5', 'profile_background_tile': False, 'created_at': 'Tue Sep 28 14:04:51 +0000 2010', 'favourites_count': 18, 'has_extended_profile': False, 'id': 196168350, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/598204767739981825/iD1DZBbS_normal.jpg', 'followers_count': 1397929, 'profile_background_color': '000000', 'description': 'Author - follow me on #Facebook! https://t.co/i7VTQ5btPI', 'profile_sidebar_fill_color': '000000', 'entities': {'description': {'urls': [{'display_url': 'goo.gl/JvMjld', 'indices': [33, 56], 'url': 'https://t.co/i7VTQ5btPI', 'expanded_url': 'http://goo.gl/JvMjld'}]}, 'url': {'urls': [{'display_url': 'anncoulter.com', 'indices': [0, 22], 'url': 'http://t.co/yOTZER5hRn', 'expanded_url': 'http://www.anncoulter.com'}]}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '000000', 'verified': True, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 'AnnCoulter', 'lang': 'en', 'profile_use_background_image': False, 'listed_count': 11430}, 'in_reply_to_screen_name': None, 'in_reply_to_status_id_str': None, 'source': 'Twitter Web Client ', 'text': 'Trump critics claim WH Correspondents Dinner is a night to set politics aside. You know, like the Academy Awards.', 'id': 836286215129346050, 'in_reply_to_user_id': None, 'is_quote_status': False, 'contributors': None, 'lang': 'en', 'in_reply_to_user_id_str': None, 'in_reply_to_status_id': None, 'retweet_count': 3287}",Mon Feb 27 22:28:34 +0000 2017,,,"Twitter for iPhone ","RT @AnnCoulter: Trump critics claim WH Correspondents Dinner is a night to set politics aside. You know, like the Academy Awards.",836342287592456193,,False,False,,en,,"{'is_translation_enabled': False, 'name': 'Elizabeth Doucette', 'profile_background_image_url_https': None, 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': None, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://abs.twimg.com/sticky/default_profile_images/default_profile_2_normal.png', 'statuses_count': 419, 'location': '', 'time_zone': None, 'id_str': '774694776620851200', 'is_translator': False, 'url': None, 'translator_type': 'none', 'following': False, 'friends_count': 94, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Sat Sep 10 19:43:22 +0000 2016', 'favourites_count': 90, 'has_extended_profile': False, 'id': 774694776620851200, 'default_profile': True, 'profile_image_url': 'http://abs.twimg.com/sticky/default_profile_images/default_profile_2_normal.png', 'followers_count': 8, 'profile_background_color': 'F5F8FA', 'description': '', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': True, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': None, 'screen_name': 'thormaster03', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 0}",,3287,,,,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [{'display_url': 'goo.gl/PmxYAN', 'indices': [84, 107], 'url': 'https://t.co/baY05OHyCm', 'expanded_url': 'https://goo.gl/PmxYAN'}], 'symbols': [], 'hashtags': [{'text': 'America', 'indices': [31, 39]}, {'text': 'ObamaCare', 'indices': [57, 67]}, {'text': 'TrumpCare', 'indices': [72, 82]}, {'text': 'POTUS', 'indices': [108, 114]}, {'text': 'Politics', 'indices': [115, 124]}, {'text': 'healthcare', 'indices': [125, 136]}], 'user_mentions': [{'name': 'Steven J. Frisch', 'screen_name': 'stevenjfrisch', 'id_str': '17050255', 'id': 17050255, 'indices': [3, 17]}]}",False,0,,836342287416295426,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'en'}, 'coordinates': None, 'place': None, 'geo': None, 'truncated': True, 'entities': {'urls': [{'display_url': 'goo.gl/PmxYAN', 'indices': [65, 88], 'url': 'https://t.co/baY05OHyCm', 'expanded_url': 'https://goo.gl/PmxYAN'}, {'display_url': 'twitter.com/i/web/status/8…', 'indices': [107, 130], 'url': 'https://t.co/7I8sZHFEqM', 'expanded_url': 'https://twitter.com/i/web/status/836338259525427202'}], 'symbols': [], 'hashtags': [{'text': 'America', 'indices': [12, 20]}, {'text': 'ObamaCare', 'indices': [38, 48]}, {'text': 'TrumpCare', 'indices': [53, 63]}, {'text': 'POTUS', 'indices': [89, 95]}, {'text': 'Politics', 'indices': [96, 105]}], 'user_mentions': []}, 'retweeted': False, 'favorited': False, 'favorite_count': 31, 'id_str': '836338259525427202', 'possibly_sensitive': False, 'created_at': 'Mon Feb 27 22:12:34 +0000 2017', 'user': {'is_translation_enabled': False, 'name': 'Steven J. Frisch', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': -28800, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/637176653836214272/UgKmwqJE_normal.png', 'statuses_count': 1232, 'location': 'California, USA', 'time_zone': 'Pacific Time (US & Canada)', 'id_str': '17050255', 'is_translator': False, 'url': 'http://t.co/4Mt6ebtJCn', 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/17050255/1440679996', 'following': False, 'friends_count': 143, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Wed Oct 29 20:04:04 +0000 2008', 'favourites_count': 37, 'has_extended_profile': True, 'id': 17050255, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/637176653836214272/UgKmwqJE_normal.png', 'followers_count': 187130, 'profile_background_color': 'C0DEED', 'description': 'Ivy League educated serial #entrepreneur; co-founder of 6 companies, member of 12 boards & #CEO of 6 companies, of which 7 were acquired for over $675 million', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}, 'url': {'urls': [{'display_url': 'stevenjfrisch.com', 'indices': [0, 22], 'url': 'http://t.co/4Mt6ebtJCn', 'expanded_url': 'http://www.stevenjfrisch.com'}]}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 'stevenjfrisch', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 86}, 'in_reply_to_screen_name': None, 'in_reply_to_status_id_str': None, 'source': 'Twitter Web Client ', 'text': 'Careless in #America ― An analysis of #ObamaCare vs. #TrumpCare\n\nhttps://t.co/baY05OHyCm #POTUS #Politics… https://t.co/7I8sZHFEqM', 'id': 836338259525427202, 'in_reply_to_user_id': None, 'is_quote_status': False, 'contributors': None, 'lang': 'en', 'in_reply_to_user_id_str': None, 'in_reply_to_status_id': None, 'retweet_count': 30}",Mon Feb 27 22:28:34 +0000 2017,,,"Twitter Web Client ","RT @stevenjfrisch: Careless in #America ― An analysis of #ObamaCare vs. #TrumpCare
-
-https://t.co/baY05OHyCm #POTUS #Politics #healthcare #P…",836342287416295426,,False,False,,en,,"{'is_translation_enabled': False, 'name': 'David', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme4/bg.gif', 'profile_sidebar_border_color': '5ED4DC', 'follow_request_sent': False, 'utc_offset': None, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/670058085562515456/syX-u46x_normal.jpg', 'statuses_count': 1098, 'location': 'New York, New York', 'time_zone': None, 'id_str': '3349723569', 'is_translator': False, 'url': 'https://t.co/Mo2NN9zR2v', 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/3349723569/1448589304', 'following': False, 'friends_count': 464, 'profile_link_color': '0099B9', 'profile_background_tile': False, 'created_at': 'Sun Jun 28 21:00:04 +0000 2015', 'favourites_count': 991, 'has_extended_profile': False, 'id': 3349723569, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/670058085562515456/syX-u46x_normal.jpg', 'followers_count': 36, 'profile_background_color': '0099B9', 'description': 'David Walter is Proud agent with New York Life Insurance Company specializing in, estate & business planning. Licensed in FL, GA, CA, TX, VA, NY, , MA, NJ, AL', 'profile_sidebar_fill_color': '95E8EC', 'entities': {'description': {'urls': []}, 'url': {'urls': [{'display_url': 'wefollow.com/dgwalter', 'indices': [0, 23], 'url': 'https://t.co/Mo2NN9zR2v', 'expanded_url': 'http://wefollow.com/dgwalter'}]}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '3C3940', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme4/bg.gif', 'screen_name': 'dgwaeltr', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 16}",,30,False,,,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [{'display_url': 'ow.ly/Dorz309pHEE', 'indices': [104, 127], 'url': 'https://t.co/fTpjnp3lWN', 'expanded_url': 'http://ow.ly/Dorz309pHEE'}], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'Salon', 'screen_name': 'Salon', 'id_str': '16955991', 'id': 16955991, 'indices': [3, 9]}]}",False,0,,836342287399428104,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'en'}, 'coordinates': None, 'geo': None, 'truncated': False, 'entities': {'urls': [{'display_url': 'ow.ly/Dorz309pHEE', 'indices': [93, 116], 'url': 'https://t.co/fTpjnp3lWN', 'expanded_url': 'http://ow.ly/Dorz309pHEE'}], 'symbols': [], 'hashtags': [], 'user_mentions': [], 'media': [{'sizes': {'thumb': {'resize': 'crop', 'w': 150, 'h': 150}, 'medium': {'resize': 'fit', 'w': 620, 'h': 412}, 'large': {'resize': 'fit', 'w': 620, 'h': 412}, 'small': {'resize': 'fit', 'w': 620, 'h': 412}}, 'display_url': 'pic.twitter.com/9fHRaezEtN', 'media_url': 'http://pbs.twimg.com/media/C5s-7P_WcAA0ILP.jpg', 'id': 836331343432806400, 'url': 'https://t.co/9fHRaezEtN', 'media_url_https': 'https://pbs.twimg.com/media/C5s-7P_WcAA0ILP.jpg', 'id_str': '836331343432806400', 'indices': [117, 140], 'type': 'photo', 'expanded_url': 'https://twitter.com/Salon/status/836331346578575363/photo/1'}]}, 'retweeted': False, 'extended_entities': {'media': [{'sizes': {'thumb': {'resize': 'crop', 'w': 150, 'h': 150}, 'medium': {'resize': 'fit', 'w': 620, 'h': 412}, 'large': {'resize': 'fit', 'w': 620, 'h': 412}, 'small': {'resize': 'fit', 'w': 620, 'h': 412}}, 'display_url': 'pic.twitter.com/9fHRaezEtN', 'media_url': 'http://pbs.twimg.com/media/C5s-7P_WcAA0ILP.jpg', 'id': 836331343432806400, 'url': 'https://t.co/9fHRaezEtN', 'media_url_https': 'https://pbs.twimg.com/media/C5s-7P_WcAA0ILP.jpg', 'id_str': '836331343432806400', 'indices': [117, 140], 'type': 'photo', 'expanded_url': 'https://twitter.com/Salon/status/836331346578575363/photo/1'}]}, 'favorited': False, 'place': None, 'id_str': '836331346578575363', 'possibly_sensitive': False, 'created_at': 'Mon Feb 27 21:45:05 +0000 2017', 'user': {'is_translation_enabled': False, 'name': 'Salon', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/512628326733586432/CZCFcWP_.jpeg', 'profile_sidebar_border_color': 'FFFFFF', 'follow_request_sent': False, 'utc_offset': -28800, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/793144947444707328/obBB1x2a_normal.jpg', 'statuses_count': 146745, 'location': '', 'time_zone': 'Pacific Time (US & Canada)', 'id_str': '16955991', 'is_translator': False, 'url': 'https://t.co/njwaOeITpj', 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/16955991/1486583748', 'following': False, 'friends_count': 6045, 'profile_link_color': 'CC0000', 'profile_background_tile': True, 'created_at': 'Fri Oct 24 20:13:31 +0000 2008', 'favourites_count': 1547, 'has_extended_profile': False, 'id': 16955991, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/793144947444707328/obBB1x2a_normal.jpg', 'followers_count': 935121, 'profile_background_color': 'CC0000', 'description': 'The original online source for news, politics, culture, and entertainment. Since 1995.', 'profile_sidebar_fill_color': 'EEEEEE', 'entities': {'description': {'urls': []}, 'url': {'urls': [{'display_url': 'Salon.com', 'indices': [0, 23], 'url': 'https://t.co/njwaOeITpj', 'expanded_url': 'http://www.Salon.com'}]}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '000000', 'verified': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/512628326733586432/CZCFcWP_.jpeg', 'screen_name': 'Salon', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 15990}, 'in_reply_to_screen_name': None, 'in_reply_to_user_id': None, 'source': 'Hootsuite ', 'text': 'Trump’s mortal enemy, Rosie O’Donnell, will speak at a protest rally outside the White House https://t.co/fTpjnp3lWN https://t.co/9fHRaezEtN', 'id': 836331346578575363, 'in_reply_to_status_id_str': None, 'favorite_count': 136, 'is_quote_status': False, 'contributors': None, 'lang': 'en', 'in_reply_to_user_id_str': None, 'in_reply_to_status_id': None, 'retweet_count': 48}",Mon Feb 27 22:28:34 +0000 2017,,,"Twitter for iPhone ","RT @Salon: Trump’s mortal enemy, Rosie O’Donnell, will speak at a protest rally outside the White House https://t.co/fTpjnp3lWN https://t.c…",836342287399428104,,False,False,,en,,"{'is_translation_enabled': False, 'name': 'Roslee', 'profile_background_image_url_https': None, 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': None, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/806244128199610368/qulLz7Ec_normal.jpg', 'statuses_count': 4196, 'location': 'CA', 'time_zone': None, 'id_str': '799041430974935040', 'is_translator': False, 'url': None, 'translator_type': 'none', 'following': False, 'friends_count': 92, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Thu Nov 17 00:08:17 +0000 2016', 'favourites_count': 5970, 'has_extended_profile': False, 'id': 799041430974935040, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/806244128199610368/qulLz7Ec_normal.jpg', 'followers_count': 44, 'profile_background_color': 'F5F8FA', 'description': '', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': None, 'screen_name': 'roslee0325', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 2}",,48,False,,,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [], 'symbols': [], 'hashtags': [{'text': 'Resist', 'indices': [111, 118]}, {'text': 'TrumpRussia', 'indices': [119, 131]}], 'user_mentions': [{'name': 'E.H. Hau #Persist', 'screen_name': 'ActionTime', 'id_str': '1620010466', 'id': 1620010466, 'indices': [3, 14]}]}",False,0,,836342287307313154,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'en'}, 'coordinates': None, 'place': None, 'geo': None, 'truncated': False, 'entities': {'urls': [{'display_url': 'ln.is/abc13.com/Gh3Yr', 'indices': [116, 139], 'url': 'https://t.co/2LWoEzExuE', 'expanded_url': 'http://ln.is/abc13.com/Gh3Yr'}], 'symbols': [], 'hashtags': [{'text': 'Resist', 'indices': [95, 102]}, {'text': 'TrumpRussia', 'indices': [103, 115]}], 'user_mentions': []}, 'retweeted': False, 'favorited': False, 'favorite_count': 89, 'id_str': '836243620315422721', 'possibly_sensitive': False, 'created_at': 'Mon Feb 27 15:56:30 +0000 2017', 'user': {'is_translation_enabled': False, 'name': 'E.H. Hau #Persist', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': None, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/470754599003906048/THvzD537_normal.jpeg', 'statuses_count': 13820, 'location': 'Beautiful Vancouver, Canada', 'time_zone': None, 'id_str': '1620010466', 'is_translator': False, 'url': 'https://t.co/eTCXVZGUEN', 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/1620010466/1401104681', 'following': False, 'friends_count': 60617, 'profile_link_color': '0084B4', 'profile_background_tile': False, 'created_at': 'Thu Jul 25 10:13:19 +0000 2013', 'favourites_count': 6011, 'has_extended_profile': False, 'id': 1620010466, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/470754599003906048/THvzD537_normal.jpeg', 'followers_count': 57709, 'profile_background_color': 'C0DEED', 'description': ""Let's Soar!Writer.Blogger(Top 100 Twitter Pro for Hire)Creativity,Productivity,Reading,Health,Biz,Tech,Self-Help,LifeLong Learner,Free Speech,#TheResistance"", 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}, 'url': {'urls': [{'display_url': 'actiontime.le-vel.com', 'indices': [0, 23], 'url': 'https://t.co/eTCXVZGUEN', 'expanded_url': 'http://www.actiontime.le-vel.com'}]}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 'ActionTime', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 1034}, 'in_reply_to_screen_name': None, 'in_reply_to_status_id_str': None, 'source': 'Put your button on any page! ', 'text': ""DON'T RT This Because TRUMP Will GO CRAZY: George W. Bush Demands Answers on Trump-Russia Ties #Resist #TrumpRussia https://t.co/2LWoEzExuE"", 'id': 836243620315422721, 'in_reply_to_user_id': None, 'is_quote_status': False, 'contributors': None, 'lang': 'en', 'in_reply_to_user_id_str': None, 'in_reply_to_status_id': None, 'retweet_count': 118}",Mon Feb 27 22:28:34 +0000 2017,,,"Twitter for Android ",RT @ActionTime: DON'T RT This Because TRUMP Will GO CRAZY: George W. Bush Demands Answers on Trump-Russia Ties #Resist #TrumpRussia https:/…,836342287307313154,,False,False,,en,,"{'is_translation_enabled': False, 'name': 'Tru', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme14/bg.gif', 'profile_sidebar_border_color': 'EEEEEE', 'follow_request_sent': False, 'utc_offset': -18000, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/827992451268956160/ux1nMjQ6_normal.jpg', 'statuses_count': 108104, 'location': '', 'time_zone': 'America/New_York', 'id_str': '277810122', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/277810122/1486964542', 'following': False, 'friends_count': 7824, 'profile_link_color': '009999', 'profile_background_tile': True, 'created_at': 'Wed Apr 06 02:34:30 +0000 2011', 'favourites_count': 82913, 'has_extended_profile': False, 'id': 277810122, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/827992451268956160/ux1nMjQ6_normal.jpg', 'followers_count': 7622, 'profile_background_color': '131516', 'description': ""I am a disabled physician who does not believe in our illegitimate president. I'm passionate about animal rights, human rights and healthcare for all."", 'profile_sidebar_fill_color': 'EFEFEF', 'entities': {'description': {'urls': []}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme14/bg.gif', 'screen_name': 'Truactive', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 320}",,118,,,,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'Muckmaker', 'screen_name': 'RealMuckmaker', 'id_str': '732515283902943232', 'id': 732515283902943232, 'indices': [3, 17]}, {'name': 'PoliticusUSA', 'screen_name': 'politicususa', 'id_str': '14792049', 'id': 14792049, 'indices': [113, 126]}]}",False,0,,836342287210799104,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'en'}, 'coordinates': None, 'place': None, 'geo': None, 'truncated': False, 'entities': {'urls': [{'display_url': 'politicususa.com/2017/02/27/tru…', 'indices': [108, 131], 'url': 'https://t.co/p3f8CbIWOW', 'expanded_url': 'http://www.politicususa.com/2017/02/27/trump-avoids-question-special-prosecutor-russia-offers-lame-denial.html'}], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'PoliticusUSA', 'screen_name': 'politicususa', 'id_str': '14792049', 'id': 14792049, 'indices': [94, 107]}]}, 'retweeted': False, 'favorited': False, 'favorite_count': 42, 'id_str': '836274382817345537', 'possibly_sensitive': False, 'created_at': 'Mon Feb 27 17:58:44 +0000 2017', 'user': {'is_translation_enabled': False, 'name': 'Muckmaker', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': '000000', 'follow_request_sent': False, 'utc_offset': -28800, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/811704521323737088/4xhjV1S0_normal.jpg', 'statuses_count': 69558, 'location': 'Montana, USA', 'time_zone': 'Pacific Time (US & Canada)', 'id_str': '732515283902943232', 'is_translator': False, 'url': 'https://t.co/1zGA85qOyb', 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/732515283902943232/1469866545', 'following': False, 'friends_count': 22433, 'profile_link_color': '981CEB', 'profile_background_tile': False, 'created_at': 'Tue May 17 10:17:07 +0000 2016', 'favourites_count': 66025, 'has_extended_profile': True, 'id': 732515283902943232, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/811704521323737088/4xhjV1S0_normal.jpg', 'followers_count': 21127, 'profile_background_color': '000000', 'description': ""Welcome to Muck's place, where the left is right.Pic's of me in Glacier Park by the lake.Take a riff on me as we move onward thru the fog! Muck #TheResistance"", 'profile_sidebar_fill_color': '000000', 'entities': {'description': {'urls': []}, 'url': {'urls': [{'display_url': 'Realmuckmaker.com', 'indices': [0, 23], 'url': 'https://t.co/1zGA85qOyb', 'expanded_url': 'http://Realmuckmaker.com'}]}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '000000', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 'RealMuckmaker', 'lang': 'en', 'profile_use_background_image': False, 'listed_count': 205}, 'in_reply_to_screen_name': None, 'in_reply_to_status_id_str': None, 'source': 'Twitter Web Client ', 'text': 'Trump Gives Answer On Russia Special Prosecutor Question That Will Come Back To Haunt Him via @politicususa https://t.co/p3f8CbIWOW', 'id': 836274382817345537, 'in_reply_to_user_id': None, 'is_quote_status': False, 'contributors': None, 'lang': 'en', 'in_reply_to_user_id_str': None, 'in_reply_to_status_id': None, 'retweet_count': 38}",Mon Feb 27 22:28:34 +0000 2017,,,"Mobile Web (M5) ",RT @RealMuckmaker: Trump Gives Answer On Russia Special Prosecutor Question That Will Come Back To Haunt Him via @politicususa https://t.co…,836342287210799104,,False,False,,en,,"{'is_translation_enabled': False, 'name': 'Trump Diaries', 'profile_background_image_url_https': None, 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': None, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/823216644507992064/JtrZm_t1_normal.jpg', 'statuses_count': 3420, 'location': 'New York, USA', 'time_zone': None, 'id_str': '823215175474020353', 'is_translator': False, 'url': None, 'translator_type': 'none', 'following': False, 'friends_count': 1191, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Sun Jan 22 17:06:07 +0000 2017', 'favourites_count': 5496, 'has_extended_profile': True, 'id': 823215175474020353, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/823216644507992064/JtrZm_t1_normal.jpg', 'followers_count': 463, 'profile_background_color': 'F5F8FA', 'description': 'A list of daily Trump atrocities and documentation of daily Trump whining.\n\nAlso Ted Cruz: ""The anger on the left -- I\'ve never seen anything like it.""', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': None, 'screen_name': 'diaryofthetrump', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 2}",,38,,,,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [{'display_url': 'youtu.be/-jIpkrelra0', 'indices': [0, 23], 'url': 'https://t.co/tBzbVkMcrr', 'expanded_url': 'https://youtu.be/-jIpkrelra0'}], 'symbols': [], 'hashtags': [], 'user_mentions': []}",False,0,,836342287034568704,,Mon Feb 27 22:28:34 +0000 2017,,,"Twitter for Android ",https://t.co/tBzbVkMcrr tumpeteers are starting to pay for voting for Trump. we tried to tell them.,836342287034568704,,False,False,,en,,"{'is_translation_enabled': False, 'name': 'CL', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/431568357108625408/adBwxutM.jpeg', 'profile_sidebar_border_color': '000000', 'follow_request_sent': False, 'utc_offset': -18000, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/428564791435608065/yO5pVhiO_normal.jpeg', 'statuses_count': 14831, 'location': '', 'time_zone': 'Eastern Time (US & Canada)', 'id_str': '2316272360', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/2316272360/1397057642', 'following': False, 'friends_count': 805, 'profile_link_color': '990000', 'profile_background_tile': True, 'created_at': 'Wed Jan 29 00:47:16 +0000 2014', 'favourites_count': 9717, 'has_extended_profile': False, 'id': 2316272360, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/428564791435608065/yO5pVhiO_normal.jpeg', 'followers_count': 323, 'profile_background_color': 'EBEBEB', 'description': 'Opportunity for everyone :-) EQUALITY MATTERS: & so does your VOTE. against the KOCH brothers & Issa.', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/431568357108625408/adBwxutM.jpeg', 'screen_name': 'muv4ardspuukiiy', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 51}",,0,False,,,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'Greg Sargent', 'screen_name': 'ThePlumLineGS', 'id_str': '20508720', 'id': 20508720, 'indices': [3, 17]}, {'name': 'Adam Schiff', 'screen_name': 'RepAdamSchiff', 'id_str': '29501253', 'id': 29501253, 'indices': [59, 73]}]}",False,0,,836342286757715968,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'en'}, 'coordinates': None, 'place': None, 'geo': None, 'truncated': True, 'entities': {'urls': [{'display_url': 'twitter.com/i/web/status/8…', 'indices': [112, 135], 'url': 'https://t.co/7OOfEpAWtO', 'expanded_url': 'https://twitter.com/i/web/status/836304410955362308'}], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'Adam Schiff', 'screen_name': 'RepAdamSchiff', 'id_str': '29501253', 'id': 29501253, 'indices': [40, 54]}]}, 'retweeted': False, 'favorited': False, 'favorite_count': 112, 'id_str': '836304410955362308', 'possibly_sensitive': False, 'created_at': 'Mon Feb 27 19:58:04 +0000 2017', 'user': {'is_translation_enabled': False, 'name': 'Greg Sargent', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': -21600, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/77712921/greg_spic_normal.jpg', 'statuses_count': 108446, 'location': '', 'time_zone': 'Central Time (US & Canada)', 'id_str': '20508720', 'is_translator': False, 'url': 'https://t.co/Bx7pTZ6DYZ', 'translator_type': 'none', 'following': False, 'friends_count': 3619, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Tue Feb 10 12:04:17 +0000 2009', 'favourites_count': 1854, 'has_extended_profile': False, 'id': 20508720, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/77712921/greg_spic_normal.jpg', 'followers_count': 133989, 'profile_background_color': 'C0DEED', 'description': 'A blog about politics, politics, and politics', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}, 'url': {'urls': [{'display_url': 'washingtonpost.com/blogs/plum-lin…', 'indices': [0, 23], 'url': 'https://t.co/Bx7pTZ6DYZ', 'expanded_url': 'https://www.washingtonpost.com/blogs/plum-line/'}]}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': True, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 'ThePlumLineGS', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 4679}, 'in_reply_to_screen_name': None, 'in_reply_to_status_id_str': None, 'source': 'TweetDeck ', 'text': 'You all ignored it for some reason, but @RepAdamSchiff said two weeks ago he was gonna demand FBI cooperation:… https://t.co/7OOfEpAWtO', 'id': 836304410955362308, 'in_reply_to_user_id': None, 'is_quote_status': False, 'contributors': None, 'lang': 'en', 'in_reply_to_user_id_str': None, 'in_reply_to_status_id': None, 'retweet_count': 89}",Mon Feb 27 22:28:34 +0000 2017,,,"Twitter Web Client ","RT @ThePlumLineGS: You all ignored it for some reason, but @RepAdamSchiff said two weeks ago he was gonna demand FBI cooperation:
-
-https://…",836342286757715968,,False,False,,en,,"{'is_translation_enabled': False, 'name': 'Sophia', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': -18000, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/824354858451030025/UKn-1n5h_normal.jpg', 'statuses_count': 7968, 'location': '', 'time_zone': 'Eastern Time (US & Canada)', 'id_str': '19729243', 'is_translator': False, 'url': None, 'translator_type': 'none', 'following': False, 'friends_count': 457, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Thu Jan 29 19:41:26 +0000 2009', 'favourites_count': 19279, 'has_extended_profile': True, 'id': 19729243, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/824354858451030025/UKn-1n5h_normal.jpg', 'followers_count': 2713, 'profile_background_color': 'C0DEED', 'description': 'female/filmmaker', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': True, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 'sophiathecolest', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 75}",,89,,,,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [{'display_url': 'ijr.com/2017/02/810965…', 'indices': [79, 102], 'url': 'https://t.co/Hly0o7Fowk', 'expanded_url': 'http://ijr.com/2017/02/810965-trump-ditched-the-press-to-have-dinner-heres-how-the-president-acts-when-no-one-is-watching/'}], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'Paul Joseph Watson', 'screen_name': 'PrisonPlanet', 'id_str': '18643437', 'id': 18643437, 'indices': [3, 16]}], 'media': [{'sizes': {'thumb': {'resize': 'crop', 'w': 150, 'h': 150}, 'medium': {'resize': 'fit', 'w': 751, 'h': 778}, 'large': {'resize': 'fit', 'w': 751, 'h': 778}, 'small': {'resize': 'fit', 'w': 656, 'h': 680}}, 'display_url': 'pic.twitter.com/r4LcZVrv7g', 'media_url': 'http://pbs.twimg.com/media/C5oENhMWMAAhcUq.jpg', 'id': 835985311125614592, 'source_status_id_str': '835985344122191873', 'source_user_id_str': '18643437', 'source_status_id': 835985344122191873, 'type': 'photo', 'id_str': '835985311125614592', 'url': 'https://t.co/r4LcZVrv7g', 'media_url_https': 'https://pbs.twimg.com/media/C5oENhMWMAAhcUq.jpg', 'source_user_id': 18643437, 'indices': [103, 126], 'expanded_url': 'https://twitter.com/PrisonPlanet/status/835985344122191873/photo/1'}]}",False,0,,836342286736830464,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'en'}, 'coordinates': None, 'geo': None, 'truncated': False, 'entities': {'urls': [{'display_url': 'ijr.com/2017/02/810965…', 'indices': [61, 84], 'url': 'https://t.co/Hly0o7Fowk', 'expanded_url': 'http://ijr.com/2017/02/810965-trump-ditched-the-press-to-have-dinner-heres-how-the-president-acts-when-no-one-is-watching/'}], 'symbols': [], 'hashtags': [], 'user_mentions': [], 'media': [{'sizes': {'thumb': {'resize': 'crop', 'w': 150, 'h': 150}, 'medium': {'resize': 'fit', 'w': 751, 'h': 778}, 'large': {'resize': 'fit', 'w': 751, 'h': 778}, 'small': {'resize': 'fit', 'w': 656, 'h': 680}}, 'display_url': 'pic.twitter.com/r4LcZVrv7g', 'media_url': 'http://pbs.twimg.com/media/C5oENhMWMAAhcUq.jpg', 'id': 835985311125614592, 'url': 'https://t.co/r4LcZVrv7g', 'media_url_https': 'https://pbs.twimg.com/media/C5oENhMWMAAhcUq.jpg', 'id_str': '835985311125614592', 'indices': [85, 108], 'type': 'photo', 'expanded_url': 'https://twitter.com/PrisonPlanet/status/835985344122191873/photo/1'}]}, 'retweeted': False, 'extended_entities': {'media': [{'sizes': {'thumb': {'resize': 'crop', 'w': 150, 'h': 150}, 'medium': {'resize': 'fit', 'w': 751, 'h': 778}, 'large': {'resize': 'fit', 'w': 751, 'h': 778}, 'small': {'resize': 'fit', 'w': 656, 'h': 680}}, 'display_url': 'pic.twitter.com/r4LcZVrv7g', 'media_url': 'http://pbs.twimg.com/media/C5oENhMWMAAhcUq.jpg', 'id': 835985311125614592, 'url': 'https://t.co/r4LcZVrv7g', 'media_url_https': 'https://pbs.twimg.com/media/C5oENhMWMAAhcUq.jpg', 'id_str': '835985311125614592', 'indices': [85, 108], 'type': 'photo', 'expanded_url': 'https://twitter.com/PrisonPlanet/status/835985344122191873/photo/1'}]}, 'favorited': False, 'place': None, 'id_str': '835985344122191873', 'possibly_sensitive': False, 'created_at': 'Sun Feb 26 22:50:12 +0000 2017', 'user': {'is_translation_enabled': False, 'name': 'Paul Joseph Watson', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/378800000049129232/f1cb5b3448d8a6d24e287249b765ae2a.jpeg', 'profile_sidebar_border_color': 'FFFFFF', 'follow_request_sent': False, 'utc_offset': -21600, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/756825397388533760/yXYx6CNC_normal.jpg', 'statuses_count': 33043, 'location': 'London', 'time_zone': 'Central Time (US & Canada)', 'id_str': '18643437', 'is_translator': False, 'url': 'https://t.co/BipouLYWgE', 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/18643437/1478133184', 'following': False, 'friends_count': 315, 'profile_link_color': '2FC2EF', 'profile_background_tile': False, 'created_at': 'Mon Jan 05 20:04:23 +0000 2009', 'favourites_count': 5085, 'has_extended_profile': True, 'id': 18643437, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/756825397388533760/yXYx6CNC_normal.jpg', 'followers_count': 516524, 'profile_background_color': '1A1B1F', 'description': 'Conservatism is the new counter-culture!\n\nInfowars Editor-at-Large', 'profile_sidebar_fill_color': '252429', 'entities': {'description': {'urls': []}, 'url': {'urls': [{'display_url': 'youtube.com/user/PrisonPla…', 'indices': [0, 23], 'url': 'https://t.co/BipouLYWgE', 'expanded_url': 'https://www.youtube.com/user/PrisonPlanetLive'}]}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '666666', 'verified': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/378800000049129232/f1cb5b3448d8a6d24e287249b765ae2a.jpeg', 'screen_name': 'PrisonPlanet', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 5240}, 'in_reply_to_screen_name': None, 'in_reply_to_user_id': None, 'source': 'Twitter Web Client ', 'text': 'Trump hates Latinos so much, he gives them $100 dollar tips. https://t.co/Hly0o7Fowk https://t.co/r4LcZVrv7g', 'id': 835985344122191873, 'in_reply_to_status_id_str': None, 'favorite_count': 4145, 'is_quote_status': False, 'contributors': None, 'lang': 'en', 'in_reply_to_user_id_str': None, 'in_reply_to_status_id': None, 'retweet_count': 1594}",Mon Feb 27 22:28:34 +0000 2017,,,"Twitter for Android ","RT @PrisonPlanet: Trump hates Latinos so much, he gives them $100 dollar tips. https://t.co/Hly0o7Fowk https://t.co/r4LcZVrv7g",836342286736830464,,False,False,,en,,"{'is_translation_enabled': False, 'name': 'Sloderdijk🐸', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': -28800, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/825939589554638848/Yh2Bk0c0_normal.jpg', 'statuses_count': 6683, 'location': '', 'time_zone': 'Pacific Time (US & Canada)', 'id_str': '4467458774', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/4467458774/1468986111', 'following': False, 'friends_count': 115, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Sat Dec 05 20:13:11 +0000 2015', 'favourites_count': 4750, 'has_extended_profile': False, 'id': 4467458774, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/825939589554638848/Yh2Bk0c0_normal.jpg', 'followers_count': 154, 'profile_background_color': 'C0DEED', 'description': 'Monster Girls are best Girls\n\n#AnimeRight', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 'Sloderdijk', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 7}",,1594,False,"{'media': [{'sizes': {'thumb': {'resize': 'crop', 'w': 150, 'h': 150}, 'medium': {'resize': 'fit', 'w': 751, 'h': 778}, 'large': {'resize': 'fit', 'w': 751, 'h': 778}, 'small': {'resize': 'fit', 'w': 656, 'h': 680}}, 'display_url': 'pic.twitter.com/r4LcZVrv7g', 'media_url': 'http://pbs.twimg.com/media/C5oENhMWMAAhcUq.jpg', 'id': 835985311125614592, 'source_status_id_str': '835985344122191873', 'source_user_id_str': '18643437', 'source_status_id': 835985344122191873, 'type': 'photo', 'id_str': '835985311125614592', 'url': 'https://t.co/r4LcZVrv7g', 'media_url_https': 'https://pbs.twimg.com/media/C5oENhMWMAAhcUq.jpg', 'source_user_id': 18643437, 'indices': [103, 126], 'expanded_url': 'https://twitter.com/PrisonPlanet/status/835985344122191873/photo/1'}]}",,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [], 'symbols': [], 'hashtags': [{'text': 'Oscar2017', 'indices': [79, 89]}], 'user_mentions': [{'name': 'Ana Navarro', 'screen_name': 'ananavarro', 'id_str': '19568591', 'id': 19568591, 'indices': [3, 14]}]}",False,0,,836342286631972864,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'en'}, 'coordinates': None, 'place': None, 'geo': None, 'truncated': False, 'entities': {'urls': [], 'symbols': [], 'hashtags': [{'text': 'Oscar2017', 'indices': [63, 73]}], 'user_mentions': []}, 'retweeted': False, 'favorited': False, 'favorite_count': 26685, 'id_str': '836206887918002177', 'created_at': 'Mon Feb 27 13:30:32 +0000 2017', 'user': {'is_translation_enabled': False, 'name': 'Ana Navarro', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': -14400, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/784612088979259393/6EhHUckH_normal.jpg', 'statuses_count': 17702, 'location': 'Coral Gables, Fl', 'time_zone': 'Atlantic Time (Canada)', 'id_str': '19568591', 'is_translator': False, 'url': 'https://t.co/IaghNWqyKC', 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/19568591/1451419906', 'following': False, 'friends_count': 653, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Tue Jan 27 00:34:59 +0000 2009', 'favourites_count': 3686, 'has_extended_profile': False, 'id': 19568591, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/784612088979259393/6EhHUckH_normal.jpg', 'followers_count': 382461, 'profile_background_color': 'C0DEED', 'description': 'Nicaraguan by birth. American by choice. Miamian b/c God loves me. @CNN @ABC @Telemundo contributor. Unsuccessful dieter. Can often find me & my drink poolside.', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}, 'url': {'urls': [{'display_url': 'cnn.com', 'indices': [0, 23], 'url': 'https://t.co/IaghNWqyKC', 'expanded_url': 'http://www.cnn.com'}]}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': True, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 'ananavarro', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 3726}, 'in_reply_to_screen_name': None, 'in_reply_to_status_id_str': None, 'source': 'Twitter for iPhone ', 'text': ""In 12 hours, there's been more investigation/clarification re #Oscar2017 screw-up, than there's been of Trump/Russia ties in last 3 months."", 'id': 836206887918002177, 'in_reply_to_user_id': None, 'is_quote_status': False, 'contributors': None, 'lang': 'en', 'in_reply_to_user_id_str': None, 'in_reply_to_status_id': None, 'retweet_count': 12066}",Mon Feb 27 22:28:34 +0000 2017,,,"Twitter for iPhone ","RT @ananavarro: In 12 hours, there's been more investigation/clarification re #Oscar2017 screw-up, than there's been of Trump/Russia ties…",836342286631972864,,False,False,,en,,"{'is_translation_enabled': False, 'name': 'Dr. Cockroach, Ph.D.', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/403070262/270529_2283038001932_1428310834_32764219_2365549_n.jpg', 'profile_sidebar_border_color': 'F2E195', 'follow_request_sent': False, 'utc_offset': 3600, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/2895688688/12da266698f1c8f518b7b2546040661f_normal.jpeg', 'statuses_count': 23513, 'location': '3rd rock from the sun', 'time_zone': 'Prague', 'id_str': '26777021', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/26777021/1353875935', 'following': False, 'friends_count': 1494, 'profile_link_color': '3B94D9', 'profile_background_tile': True, 'created_at': 'Thu Mar 26 15:45:40 +0000 2009', 'favourites_count': 16426, 'has_extended_profile': False, 'id': 26777021, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/2895688688/12da266698f1c8f518b7b2546040661f_normal.jpeg', 'followers_count': 619, 'profile_background_color': 'BADFCD', 'description': '', 'profile_sidebar_fill_color': 'FFF7CC', 'entities': {'description': {'urls': []}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '0C3E53', 'verified': False, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/403070262/270529_2283038001932_1428310834_32764219_2365549_n.jpg', 'screen_name': 'Dr_Kakerlake', 'lang': 'de', 'profile_use_background_image': True, 'listed_count': 53}",,12066,,,,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [], 'symbols': [], 'hashtags': [{'text': 'IveBeenExpecting', 'indices': [0, 17]}], 'user_mentions': []}",False,0,,836342286611005440,,Mon Feb 27 22:28:34 +0000 2017,,,"Twitter for Android ",#IveBeenExpecting Trump to be impeached.,836342286611005440,,False,False,,en,,"{'is_translation_enabled': False, 'name': 'HoSh', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': None, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/830971118576160768/r2LVaA4h_normal.jpg', 'statuses_count': 491, 'location': '', 'time_zone': None, 'id_str': '744562274', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/744562274/1485567473', 'following': False, 'friends_count': 129, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Wed Aug 08 06:06:48 +0000 2012', 'favourites_count': 970, 'has_extended_profile': True, 'id': 744562274, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/830971118576160768/r2LVaA4h_normal.jpg', 'followers_count': 57, 'profile_background_color': 'C0DEED', 'description': ""Mood: Waiting for Ed Sheeran's Album."", 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 'Divafeets16', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 1}",,0,,,,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': []}",False,0,,836342286602629120,,Mon Feb 27 22:28:34 +0000 2017,,,"Twitter for iPhone ","The Oscar Envelope Terrorist plot? Please don't let the envelope hander-over be Muslim, a woman or Mexican: Trump will have a field day!!",836342286602629120,,False,False,,en,,"{'is_translation_enabled': False, 'name': 'tony coles', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme2/bg.gif', 'profile_sidebar_border_color': 'C6E2EE', 'follow_request_sent': False, 'utc_offset': 0, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/559805516466380800/ko7EMdde_normal.jpeg', 'statuses_count': 183, 'location': 'Portbury, Nr Bristol', 'time_zone': 'London', 'id_str': '112158753', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/112158753/1422303425', 'following': False, 'friends_count': 45, 'profile_link_color': '1F98C7', 'profile_background_tile': False, 'created_at': 'Sun Feb 07 12:52:13 +0000 2010', 'favourites_count': 10, 'has_extended_profile': False, 'id': 112158753, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/559805516466380800/ko7EMdde_normal.jpeg', 'followers_count': 20, 'profile_background_color': 'C6E2EE', 'description': ""It's been an interesting ride so far....."", 'profile_sidebar_fill_color': 'DAECF4', 'entities': {'description': {'urls': []}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '663B12', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme2/bg.gif', 'screen_name': 'antonseloc', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 0}",,0,,,,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [{'display_url': 'businessinsider.com/george-w-bush-…', 'indices': [110, 133], 'url': 'https://t.co/OoGOjcVzfq', 'expanded_url': 'http://www.businessinsider.com/george-w-bush-donald-trump-russia-media-criticism-2017-2'}], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'George Takei', 'screen_name': 'GeorgeTakei', 'id_str': '237845487', 'id': 237845487, 'indices': [3, 15]}]}",False,0,,836342286527180800,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'en'}, 'coordinates': None, 'place': None, 'geo': None, 'truncated': False, 'entities': {'urls': [{'display_url': 'businessinsider.com/george-w-bush-…', 'indices': [93, 116], 'url': 'https://t.co/OoGOjcVzfq', 'expanded_url': 'http://www.businessinsider.com/george-w-bush-donald-trump-russia-media-criticism-2017-2'}], 'symbols': [], 'hashtags': [], 'user_mentions': []}, 'retweeted': False, 'favorited': False, 'favorite_count': 15123, 'id_str': '836279964899028992', 'possibly_sensitive': False, 'created_at': 'Mon Feb 27 18:20:55 +0000 2017', 'user': {'is_translation_enabled': False, 'name': 'George Takei', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/479993169363218432/YRp7xuMf.jpeg', 'profile_sidebar_border_color': 'FFFFFF', 'follow_request_sent': False, 'utc_offset': -18000, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/822432996791898112/ZsnKNKwU_normal.jpg', 'statuses_count': 25574, 'location': 'Broadway - New York, NY', 'time_zone': 'Eastern Time (US & Canada)', 'id_str': '237845487', 'is_translator': False, 'url': 'https://t.co/tMChk117hF', 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/237845487/1482260493', 'following': False, 'friends_count': 557, 'profile_link_color': 'ABB8C2', 'profile_background_tile': False, 'created_at': 'Thu Jan 13 19:33:56 +0000 2011', 'favourites_count': 1637, 'has_extended_profile': False, 'id': 237845487, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/822432996791898112/ZsnKNKwU_normal.jpg', 'followers_count': 2200668, 'profile_background_color': '022330', 'description': 'Some know me as Mr. Sulu from Star Trek but I hope all know me as a believer in, and a fighter for, the equality and dignity of all human beings.', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}, 'url': {'urls': [{'display_url': 'stcky.io/ohmyyy/download', 'indices': [0, 23], 'url': 'https://t.co/tMChk117hF', 'expanded_url': 'https://stcky.io/ohmyyy/download'}]}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/479993169363218432/YRp7xuMf.jpeg', 'screen_name': 'GeorgeTakei', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 22133}, 'in_reply_to_screen_name': None, 'in_reply_to_status_id_str': None, 'source': 'Twitter for iPhone ', 'text': 'You know things are bad when George W. Bush starts sounding like a member of the Resistance. https://t.co/OoGOjcVzfq', 'id': 836279964899028992, 'in_reply_to_user_id': None, 'is_quote_status': False, 'contributors': None, 'lang': 'en', 'in_reply_to_user_id_str': None, 'in_reply_to_status_id': None, 'retweet_count': 6546}",Mon Feb 27 22:28:34 +0000 2017,,,"Twitter for iPad ",RT @GeorgeTakei: You know things are bad when George W. Bush starts sounding like a member of the Resistance. https://t.co/OoGOjcVzfq,836342286527180800,,False,False,,en,,"{'is_translation_enabled': False, 'name': 'Helen Gallon', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': 3600, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/517085757434253312/EZ_xe4vz_normal.jpeg', 'statuses_count': 1922, 'location': '', 'time_zone': 'Amsterdam', 'id_str': '247502017', 'is_translator': False, 'url': None, 'translator_type': 'none', 'following': False, 'friends_count': 769, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Fri Feb 04 23:00:50 +0000 2011', 'favourites_count': 900, 'has_extended_profile': False, 'id': 247502017, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/517085757434253312/EZ_xe4vz_normal.jpeg', 'followers_count': 117, 'profile_background_color': 'C0DEED', 'description': '', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 'subzeronell', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 3}",,6546,False,,,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [{'display_url': 'hill.cm/O7e9fkd', 'indices': [73, 96], 'url': 'https://t.co/ix5u3xhm18', 'expanded_url': 'http://hill.cm/O7e9fkd'}], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'The Hill', 'screen_name': 'thehill', 'id_str': '1917731', 'id': 1917731, 'indices': [3, 11]}], 'media': [{'sizes': {'thumb': {'resize': 'crop', 'w': 150, 'h': 150}, 'medium': {'resize': 'fit', 'w': 640, 'h': 360}, 'large': {'resize': 'fit', 'w': 640, 'h': 360}, 'small': {'resize': 'fit', 'w': 640, 'h': 360}}, 'display_url': 'pic.twitter.com/q7Ooqd5Pej', 'media_url': 'http://pbs.twimg.com/media/C5r6feOXEAAuGaz.jpg', 'id': 836256099426832384, 'source_status_id_str': '836256101641388032', 'source_user_id_str': '1917731', 'source_status_id': 836256101641388032, 'type': 'photo', 'id_str': '836256099426832384', 'url': 'https://t.co/q7Ooqd5Pej', 'media_url_https': 'https://pbs.twimg.com/media/C5r6feOXEAAuGaz.jpg', 'source_user_id': 1917731, 'indices': [97, 120], 'expanded_url': 'https://twitter.com/thehill/status/836256101641388032/photo/1'}]}",False,0,,836342286472646657,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'en'}, 'coordinates': None, 'geo': None, 'truncated': False, 'entities': {'urls': [{'display_url': 'hill.cm/O7e9fkd', 'indices': [60, 83], 'url': 'https://t.co/ix5u3xhm18', 'expanded_url': 'http://hill.cm/O7e9fkd'}], 'symbols': [], 'hashtags': [], 'user_mentions': [], 'media': [{'sizes': {'thumb': {'resize': 'crop', 'w': 150, 'h': 150}, 'medium': {'resize': 'fit', 'w': 640, 'h': 360}, 'large': {'resize': 'fit', 'w': 640, 'h': 360}, 'small': {'resize': 'fit', 'w': 640, 'h': 360}}, 'display_url': 'pic.twitter.com/q7Ooqd5Pej', 'media_url': 'http://pbs.twimg.com/media/C5r6feOXEAAuGaz.jpg', 'id': 836256099426832384, 'url': 'https://t.co/q7Ooqd5Pej', 'media_url_https': 'https://pbs.twimg.com/media/C5r6feOXEAAuGaz.jpg', 'id_str': '836256099426832384', 'indices': [84, 107], 'type': 'photo', 'expanded_url': 'https://twitter.com/thehill/status/836256101641388032/photo/1'}]}, 'retweeted': False, 'extended_entities': {'media': [{'sizes': {'thumb': {'resize': 'crop', 'w': 150, 'h': 150}, 'medium': {'resize': 'fit', 'w': 640, 'h': 360}, 'large': {'resize': 'fit', 'w': 640, 'h': 360}, 'small': {'resize': 'fit', 'w': 640, 'h': 360}}, 'display_url': 'pic.twitter.com/q7Ooqd5Pej', 'media_url': 'http://pbs.twimg.com/media/C5r6feOXEAAuGaz.jpg', 'id': 836256099426832384, 'url': 'https://t.co/q7Ooqd5Pej', 'media_url_https': 'https://pbs.twimg.com/media/C5r6feOXEAAuGaz.jpg', 'id_str': '836256099426832384', 'indices': [84, 107], 'type': 'photo', 'expanded_url': 'https://twitter.com/thehill/status/836256101641388032/photo/1'}]}, 'favorited': False, 'place': None, 'id_str': '836256101641388032', 'possibly_sensitive': False, 'created_at': 'Mon Feb 27 16:46:06 +0000 2017', 'user': {'is_translation_enabled': False, 'name': 'The Hill', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/2509428/twitter_bg.gif', 'profile_sidebar_border_color': 'ADADAA', 'follow_request_sent': False, 'utc_offset': -18000, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/718186698824413184/H1qUtJzN_normal.jpg', 'statuses_count': 283547, 'location': 'Washington, DC', 'time_zone': 'Eastern Time (US & Canada)', 'id_str': '1917731', 'is_translator': False, 'url': 'http://t.co/t414UtTRv4', 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/1917731/1434034905', 'following': False, 'friends_count': 743, 'profile_link_color': 'FF0021', 'profile_background_tile': True, 'created_at': 'Thu Mar 22 18:15:18 +0000 2007', 'favourites_count': 26, 'has_extended_profile': False, 'id': 1917731, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/718186698824413184/H1qUtJzN_normal.jpg', 'followers_count': 2030388, 'profile_background_color': '9AE4E8', 'description': ""The Hill is the premier source for policy and political news. Follow for tweets on what's happening in Washington, breaking news and retweets of our reporters."", 'profile_sidebar_fill_color': 'EBEBEB', 'entities': {'description': {'urls': []}, 'url': {'urls': [{'display_url': 'thehill.com', 'indices': [0, 22], 'url': 'http://t.co/t414UtTRv4', 'expanded_url': 'http://www.thehill.com'}]}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '000000', 'verified': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/2509428/twitter_bg.gif', 'screen_name': 'thehill', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 20372}, 'in_reply_to_screen_name': None, 'in_reply_to_user_id': None, 'source': 'SocialFlow ', 'text': ""Rosie O'Donnell to lead anti-Trump rally at the White House https://t.co/ix5u3xhm18 https://t.co/q7Ooqd5Pej"", 'id': 836256101641388032, 'in_reply_to_status_id_str': None, 'favorite_count': 2070, 'is_quote_status': False, 'contributors': None, 'lang': 'en', 'in_reply_to_user_id_str': None, 'in_reply_to_status_id': None, 'retweet_count': 867}",Mon Feb 27 22:28:34 +0000 2017,,,"Twitter for Android ",RT @thehill: Rosie O'Donnell to lead anti-Trump rally at the White House https://t.co/ix5u3xhm18 https://t.co/q7Ooqd5Pej,836342286472646657,,False,False,,en,,"{'is_translation_enabled': False, 'name': 'New Girl', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': -14400, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/616263489083023360/8WSiy3B7_normal.jpg', 'statuses_count': 17921, 'location': '', 'time_zone': 'Atlantic Time (Canada)', 'id_str': '1092703016', 'is_translator': False, 'url': None, 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/1092703016/1400858806', 'following': False, 'friends_count': 690, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Tue Jan 15 17:15:35 +0000 2013', 'favourites_count': 12608, 'has_extended_profile': False, 'id': 1092703016, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/616263489083023360/8WSiy3B7_normal.jpg', 'followers_count': 592, 'profile_background_color': 'C0DEED', 'description': ""New to politics but becoming obsessed. Cares about the environment, women's issues, animals, children and the future. Votes Dem and proud of it."", 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 'NewGirl4444', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 24}",,867,False,"{'media': [{'sizes': {'thumb': {'resize': 'crop', 'w': 150, 'h': 150}, 'medium': {'resize': 'fit', 'w': 640, 'h': 360}, 'large': {'resize': 'fit', 'w': 640, 'h': 360}, 'small': {'resize': 'fit', 'w': 640, 'h': 360}}, 'display_url': 'pic.twitter.com/q7Ooqd5Pej', 'media_url': 'http://pbs.twimg.com/media/C5r6feOXEAAuGaz.jpg', 'id': 836256099426832384, 'source_status_id_str': '836256101641388032', 'source_user_id_str': '1917731', 'source_status_id': 836256101641388032, 'type': 'photo', 'id_str': '836256099426832384', 'url': 'https://t.co/q7Ooqd5Pej', 'media_url_https': 'https://pbs.twimg.com/media/C5r6feOXEAAuGaz.jpg', 'source_user_id': 1917731, 'indices': [97, 120], 'expanded_url': 'https://twitter.com/thehill/status/836256101641388032/photo/1'}]}",,,
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [{'display_url': 'twitter.com/KamalChomani/s…', 'indices': [113, 136], 'url': 'https://t.co/Sg95ZNgmV3', 'expanded_url': 'https://twitter.com/KamalChomani/status/836169267871629312'}], 'symbols': [], 'hashtags': [], 'user_mentions': []}",False,0,,836342286216749057,,Mon Feb 27 22:28:34 +0000 2017,,,"Twitter Web Client ",wall between trump and 911 evidence being built feverishly by trump financial backers; trump cannot run from 911 https://t.co/Sg95ZNgmV3,836342286216749057,,False,True,,en,,"{'is_translation_enabled': False, 'name': 'Toasterino', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': None, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://abs.twimg.com/sticky/default_profile_images/default_profile_0_normal.png', 'statuses_count': 30402, 'location': '', 'time_zone': None, 'id_str': '3383713018', 'is_translator': False, 'url': None, 'translator_type': 'none', 'following': False, 'friends_count': 143, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Sun Jul 19 21:49:40 +0000 2015', 'favourites_count': 6, 'has_extended_profile': False, 'id': 3383713018, 'default_profile': True, 'profile_image_url': 'http://abs.twimg.com/sticky/default_profile_images/default_profile_0_normal.png', 'followers_count': 78, 'profile_background_color': 'C0DEED', 'description': '', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': True, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 'delbertino48', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 16}",,0,False,,836169267871629312,836169267871629312,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'en'}, 'coordinates': None, 'geo': None, 'truncated': True, 'entities': {'urls': [{'display_url': 'twitter.com/i/web/status/8…', 'indices': [117, 140], 'url': 'https://t.co/p9qt0XGfJy', 'expanded_url': 'https://twitter.com/i/web/status/836169267871629312'}], 'symbols': [], 'hashtags': [], 'user_mentions': []}, 'retweeted': False, 'favorite_count': 45, 'place': None, 'id_str': '836169267871629312', 'possibly_sensitive': False, 'created_at': 'Mon Feb 27 11:01:03 +0000 2017', 'user': {'is_translation_enabled': False, 'name': 'Kamal Chomani', 'profile_background_image_url_https': 'https://pbs.twimg.com/profile_background_images/546254479/303346_285891998166934_100002384076917_598925_1774257294_n.jpg', 'profile_sidebar_border_color': 'FFFFFF', 'follow_request_sent': False, 'utc_offset': 10800, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/805167895181410304/myl7yPzk_normal.jpg', 'statuses_count': 17800, 'location': 'Kurdistan Region, Iraq', 'time_zone': 'Baghdad', 'id_str': '54150130', 'is_translator': False, 'url': 'https://t.co/sDBYhdFfSf', 'translator_type': 'regular', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/54150130/1458895810', 'following': False, 'friends_count': 1377, 'profile_link_color': 'FF0000', 'profile_background_tile': True, 'created_at': 'Mon Jul 06 07:51:30 +0000 2009', 'favourites_count': 2806, 'has_extended_profile': True, 'id': 54150130, 'default_profile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/805167895181410304/myl7yPzk_normal.jpg', 'followers_count': 13288, 'profile_background_color': '131F19', 'description': 'Co-founder of The @KurdishPolicy', 'profile_sidebar_fill_color': 'FFF7CC', 'entities': {'description': {'urls': []}, 'url': {'urls': [{'display_url': 'kurdishpolicy.org', 'indices': [0, 23], 'url': 'https://t.co/sDBYhdFfSf', 'expanded_url': 'https://kurdishpolicy.org'}]}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '0C3E53', 'verified': True, 'profile_background_image_url': 'http://pbs.twimg.com/profile_background_images/546254479/303346_285891998166934_100002384076917_598925_1774257294_n.jpg', 'screen_name': 'KamalChomani', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 178}, 'in_reply_to_screen_name': None, 'in_reply_to_status_id_str': None, 'source': 'Twitter Web Client ', 'text': 'Trump planned to build a wall between two countries, however, Erdogan built a wall within a nation to further separ… https://t.co/p9qt0XGfJy', 'id': 836169267871629312, 'in_reply_to_user_id': None, 'favorited': False, 'is_quote_status': True, 'contributors': None, 'lang': 'en', 'quoted_status_id_str': '836168437940498433', 'in_reply_to_user_id_str': None, 'quoted_status_id': 836168437940498433, 'in_reply_to_status_id': None, 'retweet_count': 44}"
-"{'result_type': 'recent', 'iso_language_code': 'en'}",,,False,"{'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': [{'name': 'Kaivan Shroff', 'screen_name': 'KaivanShroff', 'id_str': '2289770467', 'id': 2289770467, 'indices': [3, 16]}]}",False,0,,836342286216646656,"{'metadata': {'result_type': 'recent', 'iso_language_code': 'en'}, 'coordinates': None, 'place': None, 'geo': None, 'truncated': False, 'entities': {'urls': [], 'symbols': [], 'hashtags': [], 'user_mentions': []}, 'retweeted': False, 'favorited': False, 'favorite_count': 43, 'id_str': '836340902201344000', 'created_at': 'Mon Feb 27 22:23:04 +0000 2017', 'user': {'is_translation_enabled': False, 'name': 'Kaivan Shroff', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': -18000, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/831941332356702209/IKm4fwgu_normal.jpg', 'statuses_count': 13628, 'location': 'Manhattan, NY', 'time_zone': 'Eastern Time (US & Canada)', 'id_str': '2289770467', 'is_translator': False, 'url': 'https://t.co/4qp93h5ImL', 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/2289770467/1481995226', 'following': False, 'friends_count': 1376, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Mon Jan 13 14:25:27 +0000 2014', 'favourites_count': 33302, 'has_extended_profile': True, 'id': 2289770467, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/831941332356702209/IKm4fwgu_normal.jpg', 'followers_count': 19244, 'profile_background_color': 'C0DEED', 'description': '[current]: MBA @Yale 👔, @millennial_dems [past]: digital organizing📱🙋\U0001f3fc@HillaryClinton, 👨\U0001f3fd\u200d🎓poli sci @BrownUniversity', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}, 'url': {'urls': [{'display_url': 'instagram.com/kaivanshroff', 'indices': [0, 23], 'url': 'https://t.co/4qp93h5ImL', 'expanded_url': 'http://instagram.com/kaivanshroff'}]}}, 'geo_enabled': True, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'screen_name': 'KaivanShroff', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 285}, 'in_reply_to_screen_name': None, 'in_reply_to_status_id_str': None, 'source': 'Twitter Web Client ', 'text': ""Trump sent 11 tweets about Kristen Stewart and Robert Pattinson's relationship.\n\nHe has sent 0 about the wave of hate-crimes against Jews."", 'id': 836340902201344000, 'in_reply_to_user_id': None, 'is_quote_status': False, 'contributors': None, 'lang': 'en', 'in_reply_to_user_id_str': None, 'in_reply_to_status_id': None, 'retweet_count': 35}",Mon Feb 27 22:28:34 +0000 2017,,,"Twitterrific ","RT @KaivanShroff: Trump sent 11 tweets about Kristen Stewart and Robert Pattinson's relationship.
-
-He has sent 0 about the wave of hate-cri…",836342286216646656,,False,False,,en,,"{'is_translation_enabled': False, 'name': '#fumptrump', 'profile_background_image_url_https': None, 'profile_sidebar_border_color': 'C0DEED', 'follow_request_sent': False, 'utc_offset': None, 'notifications': False, 'contributors_enabled': False, 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/804801016935817216/jebBMNtK_normal.jpg', 'statuses_count': 431, 'location': 'Washington, DC', 'time_zone': None, 'id_str': '804790002727034880', 'is_translator': False, 'url': 'https://t.co/jCZkBgucFH', 'translator_type': 'none', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/804790002727034880/1480971881', 'following': False, 'friends_count': 230, 'profile_link_color': '1DA1F2', 'profile_background_tile': False, 'created_at': 'Fri Dec 02 20:51:03 +0000 2016', 'favourites_count': 78, 'has_extended_profile': True, 'id': 804790002727034880, 'default_profile': True, 'profile_image_url': 'http://pbs.twimg.com/profile_images/804801016935817216/jebBMNtK_normal.jpg', 'followers_count': 110, 'profile_background_color': 'F5F8FA', 'description': 'Because saying ""F U Mr. President""to the leader of the free world is language only The Donald would use', 'profile_sidebar_fill_color': 'DDEEF6', 'entities': {'description': {'urls': []}, 'url': {'urls': [{'display_url': 'fumptrump.org', 'indices': [0, 23], 'url': 'https://t.co/jCZkBgucFH', 'expanded_url': 'http://www.fumptrump.org'}]}}, 'geo_enabled': False, 'protected': False, 'default_profile_image': False, 'profile_text_color': '333333', 'verified': False, 'profile_background_image_url': None, 'screen_name': 'fumptrump', 'lang': 'en', 'profile_use_background_image': True, 'listed_count': 2}",,35,,,,,
diff --git a/notebooks/sample.txt b/notebooks/sample.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/notebooks/to-the-next-level-2-29-16.ipynb b/notebooks/to-the-next-level-2-29-16.ipynb
deleted file mode 100644
index 0682336..0000000
--- a/notebooks/to-the-next-level-2-29-16.ipynb
+++ /dev/null
@@ -1,548 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Here's an example of some 'to-the-next-level' functions in Python and Jupyter."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 1,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "#This is a code cell. Use a hashtag for comments!\n",
- "x = 3\n",
- "2 + 2\n",
- "def multiplication(x,y):\n",
- " z = 3\n",
- " return x*y"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "double-click me to see text cells\n",
- "\n",
- "this is a text\n",
- "\n",
- "\n",
- "# this is a header"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "If you use a % before a command, it will be special to Jupyter. They are called \"magics\". \n",
- "\n",
- "You can learn about them more below:\n",
- "\n",
- "http://jupyter.cs.brynmawr.edu/hub/dblank/public/Jupyter%20Magics.ipynb\n",
- "\n",
- "http://blog.dominodatalab.com/lesser-known-ways-of-using-notebooks/"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "'%whos' gives you all the variables in the namespace."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 2,
- "metadata": {
- "collapsed": false,
- "scrolled": true
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Variable Type Data/Info\n",
- "--------------------------------------\n",
- "multiplication function \n",
- "x int 3\n"
- ]
- }
- ],
- "source": [
- "%whos"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "You can turn anything into a string."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 3,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "'[1, 2, 3]'"
- ]
- },
- "execution_count": 3,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "str([1,2,3])"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Here's how to import libraries! (If this doesn't work, try typing ```conda install numpy``` at the Command Prompt or Terminal.)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 4,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "import numpy"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "They come with pre-written functions, depending on the library."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 5,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "1.0"
- ]
- },
- "execution_count": 5,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "numpy.cos(0)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Guido Van Rossum's designing philosophies of Python are hidden in a secret poem here:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 6,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "The Zen of Python, by Tim Peters\n",
- "\n",
- "Beautiful is better than ugly.\n",
- "Explicit is better than implicit.\n",
- "Simple is better than complex.\n",
- "Complex is better than complicated.\n",
- "Flat is better than nested.\n",
- "Sparse is better than dense.\n",
- "Readability counts.\n",
- "Special cases aren't special enough to break the rules.\n",
- "Although practicality beats purity.\n",
- "Errors should never pass silently.\n",
- "Unless explicitly silenced.\n",
- "In the face of ambiguity, refuse the temptation to guess.\n",
- "There should be one-- and preferably only one --obvious way to do it.\n",
- "Although that way may not be obvious at first unless you're Dutch.\n",
- "Now is better than never.\n",
- "Although never is often better than *right* now.\n",
- "If the implementation is hard to explain, it's a bad idea.\n",
- "If the implementation is easy to explain, it may be a good idea.\n",
- "Namespaces are one honking great idea -- let's do more of those!\n"
- ]
- }
- ],
- "source": [
- "import this"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "These are strings! This is the \"type\" that Python understands for text."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 7,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "my_string = \"hello world\""
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Certain functions only work on strings --- because they only make sense for strings! "
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 8,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "True"
- ]
- },
- "execution_count": 8,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "my_string.islower()"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 9,
- "metadata": {
- "collapsed": false,
- "scrolled": true
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "str"
- ]
- },
- "execution_count": 9,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "type(my_string)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Lists are a different \"type\" of thing. "
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 10,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "my_list = [1,3,\"a\",42,\"hello\"]"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 11,
- "metadata": {
- "collapsed": false,
- "scrolled": true
- },
- "outputs": [
- {
- "data": {
- "text/plain": [
- "list"
- ]
- },
- "execution_count": 11,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "type(my_list)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "\"Loops\" can go over each element in the list, and do things systematically. Indentation matters!"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 12,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "1\n",
- "3\n",
- "a\n",
- "42\n",
- "hello\n"
- ]
- }
- ],
- "source": [
- "for element in my_list:\n",
- " #do stuff here\n",
- " print(element)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Let's check our namespace with %whos"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 13,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Variable Type Data/Info\n",
- "--------------------------------------\n",
- "element str hello\n",
- "multiplication function \n",
- "my_list list n=5\n",
- "my_string str hello world\n",
- "numpy module ges\\\\numpy\\\\__init__.py'>\n",
- "this module envs\\\\py3\\\\lib\\\\this.py'>\n",
- "x int 3\n"
- ]
- }
- ],
- "source": [
- "%whos"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "This magic is useful to make plotting happen in-line."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 14,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "%matplotlib inline"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "If you look at http://matplotlib.org/gallery.html, you'll find a collection of different plotting examples. If you click on an image you like, then right-click on the link to \"Source code\", and copy the link address, then you can put the code in your Jupyter notebook quickly:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 15,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "#use %load then paste the link"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "% load http://matplotlib.org/mpl_examples/statistics/errorbar_limits.py"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Running the above block will turn into something like the below block."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 17,
- "metadata": {
- "collapsed": false
- },
- "outputs": [
- {
- "data": {
- "image/png": "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\nL1kCS5e6fXPVbD35GAvYo90eaXl5fvitH3LKvqek5FuPu5Vze52bkr/Z+A0bN29Myde8eA1/f+fv\nac+cvHRyan/CkgksXrM4JX/2zWds2LShUeUOYoPNRrFRdkY+FyZNgn/9K+pSNH/yPeCbie232Z42\nFW1S8vd6fY/DOx+eWonr4ZkPc9FzFyHVkhoHOPKRI1Ny5WOVdL+ne8rYXv/a9bzywSup51370rWM\nXTg2JT8y8xHeXfVuSn5r+Vt8/PXHKTkYaZQL+TTyVsEYmciLkReRk0VkrojME5HrM5yvFJE1IjLD\n227Kh96tIZeW+aBBcO21/vXDhsHnn+evDImEW8MhHnfPT+4XMpKn3Ih1i6FVusUGZDyerGCGnzGc\nM/Y/I/Wcn/f/OYftcVhK3mm7ndImgo1+fzQLP1+Ykp+e/TQvzn8xJV//2vW8uezNlDxixgje//T9\nlPzBZx+w7MtlKXnup3P5Yv0XKXndxnVsrt2c0ztHZeSbi9586m5ONNknLyItgPuAAcByYJqIPK+q\nc+tcOkFVz9jiASHTWPfLscfC+PGw7bb5LUOyHCJm3IuZrjt2TZPPOuCsNDkYPgrQqW0nTvvHaWnH\nhk4amvX5PXbswefrP6fzDp0BuP/N+/nht36YyjU06JlB/OyIn3F89+NT8jV9r+HovY4GXCUy6KBB\n9OnUB4AHpj3AiT1OZN+dXRjrC/NeSNM3eelk9t15X3bZfhfADXx3atuJdq3bAbB63WratW6XCuvN\nZdnJqAa5t+Y5UemOcswnHy35vsB8VV2iqhuBkcCZGa5rlguUtmgB1dWwndd4mzYNbr012jIZDROG\nqyjbcxrTg7jwkAs5aLeDUvf/5dS/pAw8wKgLRqUMPMC9p9zLYZ38nsU5vc5JhZsmFif48Ys/Zr/7\n9ku5o05/6nSAlHzkI0ey6527uhmhixPc+cadvL/a71lcMfoKpi2blpKPe/y4tNbv2U+fnTam8aPR\nP2L5V8tT8pAxQ/jfx/9LyX+Y+Ie0nst9b97HZ998lpIfm/UYS9YsScn/nP3PtJ7NS/NfYuXalSn5\nv0v+mzbXYuaKmaxZvyYlz1s9j7U1a1Pyh198yLqN61Ly2pq1aWMua9avSRvDWb9pfVrPqVZryZRL\nqzm5xvIRXdMZWBqQP8IZ/rr0F5FZwDLgV6r6Xh50h063bnDCCb6smj1apxgJ5veo7FpJPBEHSi+/\n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\n/webfRm3WFtnLQAAAABJRU5ErkJggg==\n",
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
- "source": [
- "# %load http://matplotlib.org/mpl_examples/statistics/errorbar_limits.py\n",
- "\"\"\"\n",
- "Demo of the errorbar function, including upper and lower limits\n",
- "\"\"\"\n",
- "import numpy as np\n",
- "import matplotlib.pyplot as plt\n",
- "\n",
- "# example data\n",
- "x = np.arange(0.5, 5.5, 0.5)\n",
- "y = np.exp(-x)\n",
- "xerr = 0.1\n",
- "yerr = 0.2\n",
- "ls = 'dotted'\n",
- "\n",
- "fig = plt.figure()\n",
- "ax = fig.add_subplot(1, 1, 1)\n",
- "\n",
- "# standard error bars\n",
- "plt.errorbar(x, y, xerr=xerr, yerr=yerr, ls=ls, color='blue')\n",
- "\n",
- "# including upper limits\n",
- "uplims = np.zeros(x.shape)\n",
- "uplims[[1, 5, 9]] = True\n",
- "plt.errorbar(x, y + 0.5, xerr=xerr, yerr=yerr, uplims=uplims, ls=ls,\n",
- " color='green')\n",
- "\n",
- "# including lower limits\n",
- "lolims = np.zeros(x.shape)\n",
- "lolims[[2, 4, 8]] = True\n",
- "plt.errorbar(x, y + 1.0, xerr=xerr, yerr=yerr, lolims=lolims, ls=ls,\n",
- " color='red')\n",
- "\n",
- "# including upper and lower limits\n",
- "plt.errorbar(x, y + 1.5, marker='o', ms=8, xerr=xerr, yerr=yerr,\n",
- " lolims=lolims, uplims=uplims, ls=ls, color='magenta')\n",
- "\n",
- "# including xlower and xupper limits\n",
- "xerr = 0.2\n",
- "yerr = np.zeros(x.shape) + 0.2\n",
- "yerr[[3, 6]] = 0.3\n",
- "xlolims = lolims\n",
- "xuplims = uplims\n",
- "lolims = np.zeros(x.shape)\n",
- "uplims = np.zeros(x.shape)\n",
- "lolims[[6]] = True\n",
- "uplims[[3]] = True\n",
- "plt.errorbar(x, y + 2.1, marker='o', ms=8, xerr=xerr, yerr=yerr,\n",
- " xlolims=xlolims, xuplims=xuplims, uplims=uplims, lolims=lolims,\n",
- " ls='none', mec='blue', capsize=0, color='cyan')\n",
- "\n",
- "ax.set_xlim((0, 5.5))\n",
- "ax.set_title('Errorbar upper and lower limits')\n",
- "plt.show()\n"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Here's another example, that you can run yourself."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": true
- },
- "outputs": [],
- "source": [
- "%load http://matplotlib.org/mpl_examples/lines_bars_and_markers/barh_demo.py"
- ]
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.5.1"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 0
-}
diff --git a/notebooks/yelp_api/Yelp_API.ipynb b/notebooks/yelp_api/Yelp_API.ipynb
deleted file mode 100644
index c5d1ffe..0000000
--- a/notebooks/yelp_api/Yelp_API.ipynb
+++ /dev/null
@@ -1,326 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# Yelp! API"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Today we will be learning about APIs, and how we can query online databases using an API. We will use the Yelp API as a prototype."
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- ""
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Getting a Yelp API key"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "In order to be able to access the Yelp API, you will need a Yelp account. Once you have made an account or signed in, visit the following URL: https://www.yelp.com/developers/v2/manage_api_keys\n",
- "\n",
- "Here, you will want to request/generate a token. If you don't have a personal website (neither do we), feel free to use our class website: http://python.berkeley.edu/\n",
- "\n",
- "Also, if you don't have an account and are opposed to making one, you may use our key (but be warned: we might overload it with requests):\n",
- "\n",
- "**Consumer Key:** svEuWaix6y1ZWYgK6VuACw\n",
- "\n",
- "**Consumer Secret:** JtmgKOl5lHs1y6dDwSnfngOkQH8\n",
- "\n",
- "**Token:** SIPDKngfiE-4QZt6p5O1E9WBywkG5E5_\n",
- "\n",
- "**Token Secret:** kO65IODyFH2oX2pYFgGKsB9moxQ"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Importing required libraries"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Python's `requests` library allows us to make GET requests in a Python script. It is self-described as the \"HTTP for Humans\" library, so seems right up our alley. We will use `GET` requests to fetch data from Yelp.\n",
- "\n",
- "Take a minute to check out the `requests` documentation: http://docs.python-requests.org/en/master/"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Import required libraries\n",
- "import requests\n",
- "import json\n",
- "import rauth\n",
- "import numpy as np\n",
- "import csv"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Starting an authenticated session\n",
- "\n",
- "In order for us to authenticate with the Yelp API, we will be using a third-party system built on top of the requests library, called `rauth`. If you run the following command, it will download the rauth library to your computer."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "!pip install rauth"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Now, use the keys and tokens acquired above to begin a session with Yelp. Plug in your tokens below:"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "consumer_key = \"svEuWaix6y1ZWYgK6VuACw\"\n",
- "consumer_secret = \"JtmgKOl5lHs1y6dDwSnfngOkQH8\"\n",
- "token = \"SIPDKngfiE-4QZt6p5O1E9WBywkG5E5_\"\n",
- "token_secret = \"kO65IODyFH2oX2pYFgGKsB9moxQ\"\n",
- "\n",
- "session = rauth.OAuth1Session(\n",
- " consumer_key = consumer_key,\n",
- " consumer_secret = consumer_secret,\n",
- " access_token = token,\n",
- " access_token_secret = token_secret)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {
- "collapsed": false
- },
- "source": [
- "### Constructing API GET Request\n",
- "\n",
- "In the first place, we know that every call will require us to provide a base URL for the API. Let's store this as a variable."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# set base url\n",
- "base_url=\"https://api.yelp.com/v2/search\""
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "You often want to send some sort of data in the URL’s query string. This data tells the API what information you want. In our case, we want restaurants that sell boba. The requests library allows you to provide these arguments as a dictionary. \n",
- "\n",
- "We will pass in this dictionary using the params keyword argument. The search term parameter options can be found [here](https://www.yelp.com/developers/documentation/v2/search_api). We will enter a location and term to start."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# set search parameters\n",
- "search_params = {\"term\":\"boba\",\n",
- " \"location\": \"Berkeley\"}"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Now we will make a get request using our authenticated session."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "request = session.get(base_url,params=search_params)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "This request object has various attributes, including a URL that is associated with the output of the call. If we visit the URL printed below, we will see what looks like a massive Python dictionary. This is a JSON-formatted string.\n",
- "\n",
- "(More info on JSON [here](http://www.json.org/))"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "print(request.url)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Finally, we will view the output data, which should be in JSON format. Now, please visit the [JSON Pretty Print site](http://jsonprettyprint.com/). Copy the output and paste it into the site, so that the dictionary can be viewed more clearly. "
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "output = request.text\n",
- "print(output)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Take a few minutes to check out the JSON string. Now we will transform that JSON object into a Python dictionary using the Python JSON library."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "output_dict = json.loads(output)\n",
- "print(output_dict.keys())"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Now that we have a Python dictionary, take a few minutes to play around with it. Some example exercises are to print the size of the dictionary, or print the values associated with its keys. How many businesses did our query return?"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Have some fun!"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Finally, we want to incorporate some of our knowledge from previous weeks. First, we will take the average rating over each of the businesses in this output."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Try it!"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "Now, we will write the info for each of the business dictionaries to a CSV file."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {
- "collapsed": false
- },
- "outputs": [],
- "source": [
- "# Try it!"
- ]
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.4.5"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 0
-}
diff --git a/notebooks/yelp_api/yelp_pic.png b/notebooks/yelp_api/yelp_pic.png
deleted file mode 100644
index 210ff9b..0000000
Binary files a/notebooks/yelp_api/yelp_pic.png and /dev/null differ
diff --git a/pages/newlearners.md b/pages/newlearners.md
deleted file mode 100644
index f059300..0000000
--- a/pages/newlearners.md
+++ /dev/null
@@ -1,84 +0,0 @@
----
-layout: page
-title: New to Python? Start here
-comments: true
-permalink: /learn/
----
-
-* content
-{:toc}
-
-## Start here!
-
-[Try this 10-minute tutorial.](https://try-python.appspot.com/) When it
-loads, type `tutorial` and press Enter to start.
-
-{% highlight python %}
-def hi():
- print("hello world")
-{% endhighlight %}
-
-## Set up your computer
-
-This is our recommended way to install Python on your system.
-
-#### Install Anaconda
-
-* Please [download the Anaconda installer](http://continuum.io/downloads). We recommend Python 3.
-* Choose `Install for me only`
-* By default, Anaconda will prepend itself to your PATH -- leave this as is
-* When Anaconda has finished installing, open a terminal (Linux, OSX), or the Anaconda Prompt (Windows)
-* Type `conda update conda`, hit enter, and then type "y" (and hit enter)
-* Type `conda update anaconda`, hit enter, and then type "y" (and hit enter)
-
-#### Run the Jupyter Notebook
-
-With Jupyter, you intersperse code, output, explanatory text, and figures in one big file called a "notebook." Notebooks are a convenient format to explore a language and to share examples of code.
-
-* To run a notebook, open the Terminal (Linux, OSX) or Anaconda Prompt (Windows) and type `jupyter notebook`.
-* The notebook will open a new tab in your default browser. **Do not close the terminal**, as this will also shutdown the notebook.
-* When it has loaded, click on "New" (at the top right) and then "Python3" to create a new notebook.
-
-#### Python 2 vs Python 3
-
-Python 3 (released in 2008) is the newest version of Python, and most features
-have not changed. Most packages have been updated to Python 3 by now (2016).
-So, if your lab does not have a preference, I recommend using Python 3.
-
-There are a couple key differences for novice programmers:
-
-* In Python 2, you can print with `print 42` or `print(42)`. In Python
- 3, you need to use parentheses, as in `print(42)`.
-* In Python 2, division of two integers like `5/2` will evaluate to
- `2`. (Python will drop the remainder if both numbers are integers.)
- Python 3 does exact division ('2.5', in this example). If you use Python 2 and do not want this behavior, add this line at the top of each program:
-
- `from __future__ import division`.
-
-#### Text editors and IDEs
-
-For creating large projects in Python, we recommend using a text editor in combination with the Jupyter notebook. Popular choices include:
-
-* [Sublime Text](http://sublimetext.com/)
-* [Atom](https://atom.io/)
-* [Light Table](http://lighttable.com/)
-
-For even larger projects, a well-engineered IDE (Interactive Development Environment) may be better than a text editor. Typically, IDEs include drag-and-drop support for debugging and refactoring. Popular choices include:
-
-* [Spyder](https://pythonhosted.org/spyder/installation.html)
-* [PyCharm](https://www.jetbrains.com/pycharm-edu/)
-
-## Practice
-Past topics of the Python Working Group are [linked here](/past). Suggestions? Send us an email at [dlab-frontdesk@berkeley.edu](mailto:dlab-frontdesk@berkeley.edu).
-
-#### Software Carpentry
-
-These exercises are really useful to get acquainted with Python. Here's a link to the [Jupyter notebook version](https://bids.github.io/2016-01-14-berkeley/python/00-python-intro.ipynb) and the [webpage version](https://bids.github.io/2016-01-14-berkeley/python/00-python-intro.html).
-
-#### Python for Social Sciences
-
-This is a free online book by Jean Mark Gawron. It's free and online at [this link](http://www-rohan.sdsu.edu/~gawron/python_for_ss/course_core/book_draft/Preface/Preface.html).
-
-#### Resources
-Check the [Learning Resources](/resources) page for more learning materials. Others in the [community](/community) may also have relevant materials.
-
diff --git a/pages/pythoncommunity.md b/pages/pythoncommunity.md
deleted file mode 100644
index 0523cc5..0000000
--- a/pages/pythoncommunity.md
+++ /dev/null
@@ -1,50 +0,0 @@
----
-layout: page
-title: Python Community
-comments: true
-permalink: /community/
-redirect-from: events/archives.html
----
-
-* content
-{:toc}
-
-## Campus groups
-The Python community is quite welcoming! There are a variety of places on campus to get help, get involved, or stay in touch.
-
-#### The Hacker Within
-THW is a weekly meeting about scientific computing.
-The Hacker Within supports the development of your inner hacker, in a [weekly meeting in BIDS](http://bids.berkeley.edu/about/directions-and-travel) for sharing skills and best practices for scientific computation. You can find out more on their website: [http://thehackerwithin.github.io/berkeley/](http://thehackerwithin.github.io/berkeley/)
-
-#### Python Practice Working Group
-You are on our page! We meet weekly at the D-Lab. We hold informal weekly meetings teaching and learning about different topics in the Python programming language, especially for social science, data science, and visualization. You can [subscribe to our mailing list here](https://groups.google.com/a/lists.berkeley.edu/d/forum/pythonpractice).
-
-#### py4science
-The py4science mailing list is still functional. This is a general campus discussion and announcement list for Python. [Subscribe here!](https://calmail.berkeley.edu/manage/list/listinfo/py4science@lists.berkeley.edu)
-
-#### Data Science Resource List
-[This is a listing of data science groups](http://marwahaha.github.io/datamap/support) at UC Berkeley, where you can get help.
-
-#### Prior groups in D-Lab
-
-Social Computing Group [used its mailing list archive as its
-website](https://www.mail-archive.com/socialcomputing@lists.berkeley.edu/). The Python Work(ers) Party has its [Twitter account
-here](https://twitter.com/PyWorkParty), and its [archives are here](http://python.berkeley.edu/events/archive/).
-
-## Events
-Have something you want to add? Send an email to [dlab-frontdesk@berkeley.edu](mailto:dlab-frontdesk@berkeley.edu).
-
-#### Events at BIDS
-[http://bids.berkeley.edu/events](http://bids.berkeley.edu/events)
-
-#### Events at D-Lab
-[http://dlab.berkeley.edu/calendar-node-field-date](http://dlab.berkeley.edu/calendar-node-field-date)
-
-#### Old Python Events
-[http://python.berkeley.edu/events/archive](http://python.berkeley.edu/events/archive)
-
-{% highlight python %}
-def community():
- print("I <3 Python!")
-{% endhighlight %}
-
diff --git a/pages/pythonresources.md b/pages/pythonresources.md
deleted file mode 100644
index bb320dd..0000000
--- a/pages/pythonresources.md
+++ /dev/null
@@ -1,134 +0,0 @@
----
-layout: page
-permalink: /resources/
-title: Learning Resources
-redirect_from: learning_resources.html
----
-
-* content
-{:toc}
-
-## Python Resources
-If you're new to Python, we recommend that you [start here!](/learn) Also please check out our Learn Python [past meetings](/past) posts for more guided resources.
-
-### Where to ask questions
-
-The best place online is probably [Stack
-Overflow](http://stackoverflow.com). If you do a Google search, you might find a similar question already asked (and answered!) on Stack Overflow. The site is picky about new questions; please read [Stack Overflow's tour](http://stackoverflow.com/tour) or this in-depth [essay on
-asking good questions by Eric Raymond](http://catb.org/~esr/faqs/smart-questions.html).
-
-Of course, you're always welcome to ask in person or on the mailing list; [subscribe here](https://calmail.berkeley.edu/manage/list/listinfo/learnpython@lists.berkeley.edu).
-
-### Python Fundamentals
-Some resources require installing Python on your computer.
-
-#### No-installation intros
-These resources use a Python interpreter that
-works through your web browser, so things will work right away!
-
- - [Try Python](https://try-python.appspot.com/)
- - [Codecademy Python Track](http://www.codecademy.com/tracks/python)
- - [learnpython.org](http://www.learnpython.org/)
- - [Code Wars](http://www.codewars.com)
- - [Intro to Python for Data Science](https://www.datacamp.com/courses/intro-to-python-for-data-science)
-
-#### Intros from Berkeley
- - [D-Lab's intro materials](https://github.com/dlab-berkeley/python-for-everything)
- - [Omoju's Hip Hop / Turtle curriculum](https://github.com/davclark/ultra_scrapr)
-
-#### Online tutorials
- - [Tutorial from Data Carpentry](http://www.datacarpentry.org/python-ecology)
- - [Tutorial from the official Python website](http://docs.python.org/2/tutorial/)
- - [The Beginners' Guide from the Python wiki](http://wiki.python.org/moin/BeginnersGuide)
- - [A useful collection of Python tutorials](http://pythontips.com/2013/09/01/best-python-resources/)
- - [Javasprout Python tutorial](https://javasprout.com/python/)
- - [Introduction to Programming: mini-lectures](http://introtopython.org/) (all written in Jupyter notebooks - [project page here](https://github.com/ehmatthes/intro_programming))
- - [Another useful collection of Python tutorials](http://www.whoishostingthis.com/resources/python/)
- - Simplilearn has some trainings ([basics](http://www.simplilearn.com/mobile-app-development-and-programming/python-programming-for-beginners), [intermediate](http://www.simplilearn.com/mobile-app-development-and-programming/python-development-training), [advanced](http://www.simplilearn.com/mobile-app-development-and-programming/advanced-web-development-training)). They're not free!
-
-#### Video tutorials
- - [Coursera](https://www.coursera.org/course/interactivepython)
- - [Khan Academy](https://www.khanacademy.org/science/computer-science)
- - [DataCamp: Intermediate Python for Data Science](https://www.datacamp.com/courses/intermediate-python-for-data-science)
-
-#### Cheat Sheets
- - [A simple reference](http://www.cogsci.rpi.edu/~destem/gamedev/python.pdf)
- - [A dense, compact reference](http://sleet.aos.wisc.edu/~gpetty/wp/wp-content/uploads/2011/10/Python_qr.pdf)
- - [A long format reference](http://new.math.uiuc.edu/math198/repo/math198/week3/SturtPythonReference.pdf)
-
-#### E-books
- - [Python for Social Sciences](http://www-rohan.sdsu.edu/~gawron/python_for_ss/course_core/book_draft/Preface/Preface.html)
- - [Think Python: How to Think Like a Computer Scientist](http://www.greenteapress.com/thinkpython/thinkpython.html)
- - [6 Free ebooks for python](http://readwrite.com/2011/03/25/python-is-an-increasingly-popu)
- - [Python for Data Analysis](http://proquest.safaribooksonline.com/book/programming/python/9781449323592)
- (a great intro to real scientific computing with Python)
- - [Intermediate Python](http://book.pythontips.com)
- - At Berkeley, we have access to the following e-book catalogs (which includes the Data Analysis book above):
- - [O'Reilly Safari Bookshelf](http://proquest.safaribooksonline.com/)
- - [Springer Link](http://link.springer.com/search?facet-content-type=%22Book%22)
-
-### Downloading & Using Python
-We have a recommended installation process [linked here](/learn).
-
-#### Online Python interpreters
-- [PySchools](http://doc.pyschools.com/console)
-- [Codecademy Labs](http://labs.codecademy.com)
-- [Wakari.io](http://wakari.io) (for Jupyter notebooks)
-
-#### On your own computer
-If you are using OS X or Linux (or similar), you likely already have Python
-installed. You can just run `python` from the command line.
-
-If you don't know how to run things from the command line, it's probably easiest to start with the Wakari link above, or you can try the [Shell tutorial](http://swcarpentry.github.io/shell-novice/) from Software Carpentry. If you want more of a power-user experience then you can start with the [Command Line Crash Course](http://cli.learncodethehardway.org/).
-
-If you install Python, you can follow [the instructions on the Jupyter page](http://jupyter.readthedocs.io/en/latest/install.html). (Jupyter includes an enhanced shell for Python.)
-
-### Python Special Topics
-
-A general resource when you're exploring new topics is the [Hitchhiker's Guide to Python](http://docs.python-guide.org/en/latest/). (Just like this site, you can [contribute to the Hitchhiker's Guide via GitHub](https://github.com/kennethreitz/python-guide).)
-
-Here's [a gallery of interesting IPython/Jupyter notebooks](https://github.com/ipython/ipython/wiki/A-gallery-of-interesting-IPython-Notebooks#introductory-tutorials).
-
-Head over to [Full Stack Python](http://fullstackpython.com/) to learn how to write and deploy Python-based web applications using popular frameworks such as [Flask](http://flask.pocoo.org/) and [Django](https://www.djangoproject.com/).
-
-Lessons on [other topics](http://software-carpentry.org/lessons/) are available from Software Carpentry.
-
-Or, you can learn about these tools from their websites:
-
- - [Pandas for reading / manipulating data](http://pandas.pydata.org/)
- - [Matplotlib](http://matplotlib.org/index.html) (the most common graphing library, includes a great
- [gallery](http://matplotlib.org/gallery.html))
-
-And then look here for inspiration:
-
- - [View existing IPython notebooks](http://nbviewer.ipython.org/)
- - [A list of interesting IPython notebooks](https://github.com/ipython/ipython/wiki/A-gallery-of-interesting-IPython-Notebooks)
- - [Working with Matplotlib](https://preinventedwheel.com/easy-python-time-series-plots-with-matplotlib/Working with Matplotlib). This site has a couple other cool references on [data journalism](https://preinventedwheel.com/mobile-innovation-is-saving-lives/) and [SQL](https://preinventedwheel.com/3-basic-sql-queries-everyone-needs-to-know/).
-
-### At UC Berkeley
-UC Berkeley has a lot of great resources for learning scientific computing and
-data science. There are classes, tutorials, reading groups, institutes, and
-much more.
-
-Below are some things worth checking out. For links to more events & groups on campus, visit [our Python community page](/community).
-
-#### Scientific Computing
-- [The D-Lab](http://dlab.berkeley.edu)
-- [The I-school Master's in Data Science](http://datascience.berkeley.edu)
-- [The Berkeley Institute for Data Science](https://bids.berkeley.edu) ([launch page here](http://vcresearch.berkeley.edu/datascience/bids-launch-dec-12))
-- [The Berkeley VC for research page on data science](http://vcresearch.berkeley.edu/datascience)
-- [The Open Computing Facility](https://www.ocf.berkeley.edu/), which provides free access to highly-performant servers with Python, IPython, and related tools to all members of the UC Berkeley community. OCF volunteers also maintain [a Python library](https://github.com/ocf/ocflib) for interacting with university resources like LDAP and CAS.
-
-#### Python Courses
-- [CS9H](http://www-inst.eecs.berkeley.edu/~selfpace/class/cs9h/index.shtml) - Self-paced Python course. Requires some programming background. Good for people that know another language and want to pick up Python.
-- [AY250](http://profjsb.github.io/python-seminar/) - "Python computing for science." More advanced python course for scientists.
-- [AY98](http://ugastro.berkeley.edu/pydecal/)- "Python Programming for Astronomers". Introductory python course with an emphasis on applications to astronomy.
-- [PS239T](https://github.com/rochelleterman/PS239T) - "Introduction to Computational Tools and Techniques for Social Research" is Rochelle Terman's course for technical training in computational social science and digital humanities. Of special note is her [tutorial on APIs](https://github.com/rochelleterman/PS239T/tree/master/09_APIs) and her [webscraping tutorial](https://github.com/rochelleterman/PS239T).
-- [CS61A](http://cs61a.org/) and [Data8](http://data8.org/) are undergraduate courses that teach programming fundamdentals through the Python language
-
-#### Intensives
-D-Lab hosts week-long Python intensives in January, May, and August, and workshops throughout the academic year. [Click here to see upcoming workshops](http://dlab.berkeley.edu/training?field_training_type_tid=All&body_value=python)
-
-Software Carpentry offers a variety of trainings around the world. Check their
-[site](http://software-carpentry.org/bootcamps/index.html) for bootcamp
-dates.
diff --git a/pages/working_group_pastmtgs.md b/pages/working_group_pastmtgs.md
deleted file mode 100644
index c7ff177..0000000
--- a/pages/working_group_pastmtgs.md
+++ /dev/null
@@ -1,25 +0,0 @@
----
-layout: page
-title: Past Meetings
-comments: true
-permalink: /past/
----
-
-## Past Meetings
-Here is a list of topics from our previous meetings and associated learning resources.
-
-
- {% assign curDate = site.time | date: '%s' %}
- {% assign lastYear = curDate | minus: 31536000 | date: "%s" %}
- {% for post in site.posts %}
- {% assign postStartDate = post.date | date: '%s' %}
- {% if postStartDate <= curDate and postStartDate > lastYear %}
-
-
- {{ post.title }}
-
- {{ post.date | date: "%b %-d, %Y" }}
-
- {% endif %}
- {% endfor %}
-
diff --git a/py4data/Stock Price Graphs.ipynb b/py4data/Stock Price Graphs.ipynb
new file mode 100644
index 0000000..2437b14
--- /dev/null
+++ b/py4data/Stock Price Graphs.ipynb
@@ -0,0 +1,236 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from datetime import date\n",
+ "import pandas as pd\n",
+ "import pandas.io.data as web\n",
+ "\n",
+ "%matplotlib inline"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [],
+ "prompt_number": 1
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# Here's how you specify an arbitrary Date\n",
+ "date(2010, 1, 1)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 2,
+ "text": [
+ "datetime.date(2010, 1, 1)"
+ ]
+ }
+ ],
+ "prompt_number": 2
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# How do we get today?\n",
+ "today = date.today()\n",
+ "today"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 3,
+ "text": [
+ "datetime.date(2013, 10, 25)"
+ ]
+ }
+ ],
+ "prompt_number": 3
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "# So, this is the first of *this* year\n",
+ "beginning_of_year = date(today.year, 1, 1)\n",
+ "beginning_of_year"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 4,
+ "text": [
+ "datetime.date(2013, 1, 1)"
+ ]
+ }
+ ],
+ "prompt_number": 4
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "web.DataReader?"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [],
+ "prompt_number": 5
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "As per usual, pandas has amazing tools that are poorly documented. You can find out a little more about DataReader on the pandas docs, under IO Tools."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "goog_from_goog = web.DataReader(\"GOOG\", \"google\", beginning_of_year, today)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [],
+ "prompt_number": 6
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "goog_from_goog"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "html": [
+ "\n",
+ "<class 'pandas.core.frame.DataFrame'>\n",
+ "DatetimeIndex: 205 entries, 2013-01-02 00:00:00 to 2013-10-24 00:00:00\n",
+ "Data columns (total 5 columns):\n",
+ "Open 205 non-null values\n",
+ "High 205 non-null values\n",
+ "Low 205 non-null values\n",
+ "Close 205 non-null values\n",
+ "Volume 205 non-null values\n",
+ "dtypes: float64(4), int64(1)\n",
+ " "
+ ],
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 12,
+ "text": [
+ "\n",
+ "DatetimeIndex: 205 entries, 2013-01-02 00:00:00 to 2013-10-24 00:00:00\n",
+ "Data columns (total 5 columns):\n",
+ "Open 205 non-null values\n",
+ "High 205 non-null values\n",
+ "Low 205 non-null values\n",
+ "Close 205 non-null values\n",
+ "Volume 205 non-null values\n",
+ "dtypes: float64(4), int64(1)"
+ ]
+ }
+ ],
+ "prompt_number": 12
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "goog_from_goog.plot()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 14,
+ "text": [
+ ""
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n",
+ "text": [
+ ""
+ ]
+ }
+ ],
+ "prompt_number": 14
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "goog_from_goog.plot(subplots=True)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 13,
+ "text": [
+ "array([,\n",
+ " ,\n",
+ " ,\n",
+ " ,\n",
+ " ], dtype=object)"
+ ]
+ },
+ {
+ "metadata": {},
+ "output_type": "display_data",
+ "png": "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\n5g25uLiQkpIS/fDDDxQfH0/l5eU0ePBg2rBhAz158oRiYmLo+fPn9OrVK0pLS6P8/Px6ed68eZOO\nHDlC7u7uxOFwKC8vj0xMTMjCwoK0tbXJ2NiY3N3d6e+//+a5js1m1yurH374oV7lWsuxY8fIwsKC\n2Gw2ERFFRUXRhw8fuOebWsGnpKSQvLw8SUlJ0cKFC+s950mTJtVbmxAXF0fa2tpUUVFBI0aMoE6d\nOvFtWNTVwlTwbUtt+e7atYuMjIwIAN28ebPtKvimzKKpy65du8jV1bVhMQD98ccflJycTF27duXp\nlrh//z5P62jJkiXk5OREHA6HOBwOqaqqUufOnenkyZON6nVzc6P+/ftTcHBwvXM7d+4kd3d3nmM7\nduygyZMnk6WlJV26dIl7PCkpifr160dOTk70/v17IiLy8fGhkSNH8rVdVVVFSkpK5OTkRNra2qSu\nrk46OjpkbGxMM2bMIElJSZKRkSEbGxsKDAzk+fG4ePEiAaDw8HC6fPky6ejoUFJSEr17945iY2OJ\nqKa76syZM1RaWkqDBg2ixYsX08WLF+nKlSuNlklISAipqKiQkpIS9ezZk9asWUMPHz6k6upqCgsL\noydPntD48eNp586dPNdVV1eTjY0NzZ07l3x8fOj+/ftERBQeHk6GhobUq1cvmj59Oh0/fpwmTpzY\noO0ZM2bQnDlzKD4+nrS0tOjQoUO0c+dOcnFxoUGDBpGOjg4dP36cnjx5QmpqanTixAmaO3cuqaqq\nkrW1Nbm7u1O3bt2oW7du5OrqSiUlJTz5u7m51esSzM7Opo0bN5K6ujrZ2trS2LFjadKkSdSrVy+y\ntLTkjt3o6emRnJwcubq6kouLC3l5edGyZctIVVWVJk6cSFZWVrRlyxaytbWlFStWEFHND3dMTAxt\n3bqV1NTU6Pbt22RhYUETJkwgdXV1EhMTI3V1dTIzM6N+/fqRqqoq9+/nYzgcDg0aNIhOnjxJvr6+\npKysTGpqauTp6dnoWA6Hw6HExEQKDAykly9f0k8//UQrV66k3NxcWrFiBamoqNDPP/9MQUFB9ObN\nG+rWrVuDCw9Hjx5NkyZNIk1NTfLw8KAFCxbwPHsOh0OnT5+m3r17k6urK1VWVjIVfBtTW77x8fHU\nuXNn+u2330hXV7ftgm5fvnwZt2/fxm+//QYA8Pb2xt9//41Dhw7VSxsSEoLFixfjwYMHUFZWrnde\n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\n",
+ "text": [
+ ""
+ ]
+ }
+ ],
+ "prompt_number": 13
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "goog_from_goog.plot?\n",
+ "# Same as pd.DataFrame.plot?"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [],
+ "prompt_number": 15
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file
diff --git a/python3_overview/Unicode demo Python 2.ipynb b/python3_overview/Unicode demo Python 2.ipynb
new file mode 100644
index 0000000..d53e974
--- /dev/null
+++ b/python3_overview/Unicode demo Python 2.ipynb
@@ -0,0 +1,151 @@
+{
+ "metadata": {
+ "name": "Unicode demo Python 2"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "ustr = u\"cafe\" #\u00e9\n",
+ "bstr = ustr.encode('utf-8')\n",
+ "bstr"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "So long as we're working with pure ASCII, everything in this notebook runs. But as soon as there's a non-ascii character in there (like \u00e9), it all falls apart."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "ustr + bstr"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "u''.join([ustr, bstr])"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "bstr.split(u'f')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Write unicode to a file"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "with open('foo.txt', 'wb') as f:\n",
+ " f.write(bstr)\n",
+ " f.write(ustr)\n",
+ "\n",
+ "open('foo.txt', 'rb').read()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Encode and decode: right"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "ustr.encode('utf-8')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "a = bstr.decode('utf-8') \n",
+ "print(a)\n",
+ "a"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Encode and decode: wrong!"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "ustr.decode('utf-8')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "bstr.encode('utf-8')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file
diff --git a/python3_overview/Unicode demo Python 3.ipynb b/python3_overview/Unicode demo Python 3.ipynb
new file mode 100644
index 0000000..2900700
--- /dev/null
+++ b/python3_overview/Unicode demo Python 3.ipynb
@@ -0,0 +1,170 @@
+{
+ "metadata": {
+ "name": "Unicode demo Python 3"
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "ustr = \"cafe\" #\u00e9\n",
+ "bstr = ustr.encode('utf-8')\n",
+ "bstr"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "In Python 3, you can't mix unicode and bytes, even if they're pure ASCII."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "ustr + bstr"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "''.join([ustr, bstr])"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "bstr.split('f')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Write unicode to a (bytes mode) file"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "with open('foo.txt', 'wb') as f:\n",
+ " f.write(bstr)\n",
+ " f.write(ustr)\n",
+ "\n",
+ "open('foo.txt', 'rb').read()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ },
+ {
+ "cell_type": "heading",
+ "level": 3,
+ "metadata": {},
+ "source": [
+ "But we can use text mode files"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "with open('foo2.txt', 'w', encoding='utf-8') as f:\n",
+ " f.write(ustr)\n",
+ " #f.write(bstr) # Writing bytes to this won't work\n",
+ "\n",
+ "open('foo2.txt', 'rb').read()"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Encode and decode: right"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "ustr.encode('utf-8')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "bstr.decode('utf-8')"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Encode and decode: wrong"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "`unicode` objects only have an `encode()` method, and `bytes` objects only have a `decode()` method. So you can't get them the wrong way round."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "ustr."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "bstr."
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file
diff --git a/python3_overview/fib.py b/python3_overview/fib.py
new file mode 100644
index 0000000..d1b50c5
--- /dev/null
+++ b/python3_overview/fib.py
@@ -0,0 +1,15 @@
+"""Function annotations demo using MyPy (http://www.mypy-lang.org/)
+
+This code will run under either MyPy or vanilla Python 3, but MyPy can give
+a clearer error when we call the function with the wrong type of input.
+"""
+import typing
+
+def fib(n: int) -> None:
+ a, b = 0, 1
+ while a < n:
+ print(a)
+ a, b = b, a+b
+
+fib(1000)
+#fib('1000')
diff --git a/python3_overview/find_file.py b/python3_overview/find_file.py
new file mode 100644
index 0000000..fe55dda
--- /dev/null
+++ b/python3_overview/find_file.py
@@ -0,0 +1,23 @@
+"""Function annotations demo using plac
+https://pypi.python.org/pypi/plac
+
+Command line arguments are specified in function annotations. Try:
+
+ python find_file.py -h
+"""
+import os
+from fnmatch import filter
+
+def main(pattern: "File pattern to match, e.g. '*.py'",
+ sort: ("Sort results alphabetically", 'flag', 's'),
+ directory: ("Directory in which to search", 'option') ='.'
+ ):
+ results = []
+ for dirpath, dirnames, filenames in os.walk(directory):
+ results.extend([os.path.join(dirpath, fn) for fn in filter(filenames, pattern)])
+ if sort:
+ results.sort()
+ print(*results, sep='\n')
+
+if __name__ == '__main__':
+ import plac; plac.call(main)
diff --git a/python3_overview/python3_presentation_py4science.odp b/python3_overview/python3_presentation_py4science.odp
new file mode 100644
index 0000000..56b8c17
Binary files /dev/null and b/python3_overview/python3_presentation_py4science.odp differ
diff --git a/static/css/bootstrap-theme.css b/static/css/bootstrap-theme.css
deleted file mode 100644
index ebe57fb..0000000
--- a/static/css/bootstrap-theme.css
+++ /dev/null
@@ -1,587 +0,0 @@
-/*!
- * Bootstrap v3.3.6 (http://getbootstrap.com)
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */
-.btn-default,
-.btn-primary,
-.btn-success,
-.btn-info,
-.btn-warning,
-.btn-danger {
- text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);
- -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
-}
-.btn-default:active,
-.btn-primary:active,
-.btn-success:active,
-.btn-info:active,
-.btn-warning:active,
-.btn-danger:active,
-.btn-default.active,
-.btn-primary.active,
-.btn-success.active,
-.btn-info.active,
-.btn-warning.active,
-.btn-danger.active {
- -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
- box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
-}
-.btn-default.disabled,
-.btn-primary.disabled,
-.btn-success.disabled,
-.btn-info.disabled,
-.btn-warning.disabled,
-.btn-danger.disabled,
-.btn-default[disabled],
-.btn-primary[disabled],
-.btn-success[disabled],
-.btn-info[disabled],
-.btn-warning[disabled],
-.btn-danger[disabled],
-fieldset[disabled] .btn-default,
-fieldset[disabled] .btn-primary,
-fieldset[disabled] .btn-success,
-fieldset[disabled] .btn-info,
-fieldset[disabled] .btn-warning,
-fieldset[disabled] .btn-danger {
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-.btn-default .badge,
-.btn-primary .badge,
-.btn-success .badge,
-.btn-info .badge,
-.btn-warning .badge,
-.btn-danger .badge {
- text-shadow: none;
-}
-.btn:active,
-.btn.active {
- background-image: none;
-}
-.btn-default {
- text-shadow: 0 1px 0 #fff;
- background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);
- background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));
- background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
- background-repeat: repeat-x;
- border-color: #dbdbdb;
- border-color: #ccc;
-}
-.btn-default:hover,
-.btn-default:focus {
- background-color: #e0e0e0;
- background-position: 0 -15px;
-}
-.btn-default:active,
-.btn-default.active {
- background-color: #e0e0e0;
- border-color: #dbdbdb;
-}
-.btn-default.disabled,
-.btn-default[disabled],
-fieldset[disabled] .btn-default,
-.btn-default.disabled:hover,
-.btn-default[disabled]:hover,
-fieldset[disabled] .btn-default:hover,
-.btn-default.disabled:focus,
-.btn-default[disabled]:focus,
-fieldset[disabled] .btn-default:focus,
-.btn-default.disabled.focus,
-.btn-default[disabled].focus,
-fieldset[disabled] .btn-default.focus,
-.btn-default.disabled:active,
-.btn-default[disabled]:active,
-fieldset[disabled] .btn-default:active,
-.btn-default.disabled.active,
-.btn-default[disabled].active,
-fieldset[disabled] .btn-default.active {
- background-color: #e0e0e0;
- background-image: none;
-}
-.btn-primary {
- background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);
- background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88));
- background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
- background-repeat: repeat-x;
- border-color: #245580;
-}
-.btn-primary:hover,
-.btn-primary:focus {
- background-color: #265a88;
- background-position: 0 -15px;
-}
-.btn-primary:active,
-.btn-primary.active {
- background-color: #265a88;
- border-color: #245580;
-}
-.btn-primary.disabled,
-.btn-primary[disabled],
-fieldset[disabled] .btn-primary,
-.btn-primary.disabled:hover,
-.btn-primary[disabled]:hover,
-fieldset[disabled] .btn-primary:hover,
-.btn-primary.disabled:focus,
-.btn-primary[disabled]:focus,
-fieldset[disabled] .btn-primary:focus,
-.btn-primary.disabled.focus,
-.btn-primary[disabled].focus,
-fieldset[disabled] .btn-primary.focus,
-.btn-primary.disabled:active,
-.btn-primary[disabled]:active,
-fieldset[disabled] .btn-primary:active,
-.btn-primary.disabled.active,
-.btn-primary[disabled].active,
-fieldset[disabled] .btn-primary.active {
- background-color: #265a88;
- background-image: none;
-}
-.btn-success {
- background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
- background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641));
- background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
- background-repeat: repeat-x;
- border-color: #3e8f3e;
-}
-.btn-success:hover,
-.btn-success:focus {
- background-color: #419641;
- background-position: 0 -15px;
-}
-.btn-success:active,
-.btn-success.active {
- background-color: #419641;
- border-color: #3e8f3e;
-}
-.btn-success.disabled,
-.btn-success[disabled],
-fieldset[disabled] .btn-success,
-.btn-success.disabled:hover,
-.btn-success[disabled]:hover,
-fieldset[disabled] .btn-success:hover,
-.btn-success.disabled:focus,
-.btn-success[disabled]:focus,
-fieldset[disabled] .btn-success:focus,
-.btn-success.disabled.focus,
-.btn-success[disabled].focus,
-fieldset[disabled] .btn-success.focus,
-.btn-success.disabled:active,
-.btn-success[disabled]:active,
-fieldset[disabled] .btn-success:active,
-.btn-success.disabled.active,
-.btn-success[disabled].active,
-fieldset[disabled] .btn-success.active {
- background-color: #419641;
- background-image: none;
-}
-.btn-info {
- background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
- background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2));
- background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
- background-repeat: repeat-x;
- border-color: #28a4c9;
-}
-.btn-info:hover,
-.btn-info:focus {
- background-color: #2aabd2;
- background-position: 0 -15px;
-}
-.btn-info:active,
-.btn-info.active {
- background-color: #2aabd2;
- border-color: #28a4c9;
-}
-.btn-info.disabled,
-.btn-info[disabled],
-fieldset[disabled] .btn-info,
-.btn-info.disabled:hover,
-.btn-info[disabled]:hover,
-fieldset[disabled] .btn-info:hover,
-.btn-info.disabled:focus,
-.btn-info[disabled]:focus,
-fieldset[disabled] .btn-info:focus,
-.btn-info.disabled.focus,
-.btn-info[disabled].focus,
-fieldset[disabled] .btn-info.focus,
-.btn-info.disabled:active,
-.btn-info[disabled]:active,
-fieldset[disabled] .btn-info:active,
-.btn-info.disabled.active,
-.btn-info[disabled].active,
-fieldset[disabled] .btn-info.active {
- background-color: #2aabd2;
- background-image: none;
-}
-.btn-warning {
- background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
- background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316));
- background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
- background-repeat: repeat-x;
- border-color: #e38d13;
-}
-.btn-warning:hover,
-.btn-warning:focus {
- background-color: #eb9316;
- background-position: 0 -15px;
-}
-.btn-warning:active,
-.btn-warning.active {
- background-color: #eb9316;
- border-color: #e38d13;
-}
-.btn-warning.disabled,
-.btn-warning[disabled],
-fieldset[disabled] .btn-warning,
-.btn-warning.disabled:hover,
-.btn-warning[disabled]:hover,
-fieldset[disabled] .btn-warning:hover,
-.btn-warning.disabled:focus,
-.btn-warning[disabled]:focus,
-fieldset[disabled] .btn-warning:focus,
-.btn-warning.disabled.focus,
-.btn-warning[disabled].focus,
-fieldset[disabled] .btn-warning.focus,
-.btn-warning.disabled:active,
-.btn-warning[disabled]:active,
-fieldset[disabled] .btn-warning:active,
-.btn-warning.disabled.active,
-.btn-warning[disabled].active,
-fieldset[disabled] .btn-warning.active {
- background-color: #eb9316;
- background-image: none;
-}
-.btn-danger {
- background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
- background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a));
- background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
- background-repeat: repeat-x;
- border-color: #b92c28;
-}
-.btn-danger:hover,
-.btn-danger:focus {
- background-color: #c12e2a;
- background-position: 0 -15px;
-}
-.btn-danger:active,
-.btn-danger.active {
- background-color: #c12e2a;
- border-color: #b92c28;
-}
-.btn-danger.disabled,
-.btn-danger[disabled],
-fieldset[disabled] .btn-danger,
-.btn-danger.disabled:hover,
-.btn-danger[disabled]:hover,
-fieldset[disabled] .btn-danger:hover,
-.btn-danger.disabled:focus,
-.btn-danger[disabled]:focus,
-fieldset[disabled] .btn-danger:focus,
-.btn-danger.disabled.focus,
-.btn-danger[disabled].focus,
-fieldset[disabled] .btn-danger.focus,
-.btn-danger.disabled:active,
-.btn-danger[disabled]:active,
-fieldset[disabled] .btn-danger:active,
-.btn-danger.disabled.active,
-.btn-danger[disabled].active,
-fieldset[disabled] .btn-danger.active {
- background-color: #c12e2a;
- background-image: none;
-}
-.thumbnail,
-.img-thumbnail {
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
- box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
-}
-.dropdown-menu > li > a:hover,
-.dropdown-menu > li > a:focus {
- background-color: #e8e8e8;
- background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
- background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
- background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
- background-repeat: repeat-x;
-}
-.dropdown-menu > .active > a,
-.dropdown-menu > .active > a:hover,
-.dropdown-menu > .active > a:focus {
- background-color: #2e6da4;
- background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
- background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
- background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
- background-repeat: repeat-x;
-}
-.navbar-default {
- background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);
- background-image: -o-linear-gradient(top, #fff 0%, #f8f8f8 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8));
- background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
- background-repeat: repeat-x;
- border-radius: 4px;
- -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
-}
-.navbar-default .navbar-nav > .open > a,
-.navbar-default .navbar-nav > .active > a {
- background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
- background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2));
- background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);
- background-repeat: repeat-x;
- -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
- box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
-}
-.navbar-brand,
-.navbar-nav > li > a {
- text-shadow: 0 1px 0 rgba(255, 255, 255, .25);
-}
-.navbar-inverse {
- background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);
- background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222));
- background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
- filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
- background-repeat: repeat-x;
- border-radius: 4px;
-}
-.navbar-inverse .navbar-nav > .open > a,
-.navbar-inverse .navbar-nav > .active > a {
- background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);
- background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f));
- background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);
- background-repeat: repeat-x;
- -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
- box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
-}
-.navbar-inverse .navbar-brand,
-.navbar-inverse .navbar-nav > li > a {
- text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);
-}
-.navbar-static-top,
-.navbar-fixed-top,
-.navbar-fixed-bottom {
- border-radius: 0;
-}
-@media (max-width: 767px) {
- .navbar .navbar-nav .open .dropdown-menu > .active > a,
- .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,
- .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {
- color: #fff;
- background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
- background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
- background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
- background-repeat: repeat-x;
- }
-}
-.alert {
- text-shadow: 0 1px 0 rgba(255, 255, 255, .2);
- -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
-}
-.alert-success {
- background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
- background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc));
- background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
- background-repeat: repeat-x;
- border-color: #b2dba1;
-}
-.alert-info {
- background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
- background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0));
- background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
- background-repeat: repeat-x;
- border-color: #9acfea;
-}
-.alert-warning {
- background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
- background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0));
- background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
- background-repeat: repeat-x;
- border-color: #f5e79e;
-}
-.alert-danger {
- background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
- background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3));
- background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
- background-repeat: repeat-x;
- border-color: #dca7a7;
-}
-.progress {
- background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
- background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5));
- background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
- background-repeat: repeat-x;
-}
-.progress-bar {
- background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);
- background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090));
- background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);
- background-repeat: repeat-x;
-}
-.progress-bar-success {
- background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
- background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44));
- background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
- background-repeat: repeat-x;
-}
-.progress-bar-info {
- background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
- background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5));
- background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
- background-repeat: repeat-x;
-}
-.progress-bar-warning {
- background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
- background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f));
- background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
- background-repeat: repeat-x;
-}
-.progress-bar-danger {
- background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
- background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c));
- background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
- background-repeat: repeat-x;
-}
-.progress-bar-striped {
- 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);
-}
-.list-group {
- border-radius: 4px;
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
- box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
-}
-.list-group-item.active,
-.list-group-item.active:hover,
-.list-group-item.active:focus {
- text-shadow: 0 -1px 0 #286090;
- background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);
- background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a));
- background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);
- background-repeat: repeat-x;
- border-color: #2b669a;
-}
-.list-group-item.active .badge,
-.list-group-item.active:hover .badge,
-.list-group-item.active:focus .badge {
- text-shadow: none;
-}
-.panel {
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
- box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
-}
-.panel-default > .panel-heading {
- background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
- background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
- background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
- background-repeat: repeat-x;
-}
-.panel-primary > .panel-heading {
- background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
- background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
- background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
- background-repeat: repeat-x;
-}
-.panel-success > .panel-heading {
- background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
- background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6));
- background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
- background-repeat: repeat-x;
-}
-.panel-info > .panel-heading {
- background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
- background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3));
- background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
- background-repeat: repeat-x;
-}
-.panel-warning > .panel-heading {
- background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
- background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc));
- background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
- background-repeat: repeat-x;
-}
-.panel-danger > .panel-heading {
- background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
- background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc));
- background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
- background-repeat: repeat-x;
-}
-.well {
- background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
- background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
- background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5));
- background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
- background-repeat: repeat-x;
- border-color: #dcdcdc;
- -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
- box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
-}
-/*# sourceMappingURL=bootstrap-theme.css.map */
diff --git a/static/css/bootstrap-theme.min.css b/static/css/bootstrap-theme.min.css
deleted file mode 100644
index dc95d8e..0000000
--- a/static/css/bootstrap-theme.min.css
+++ /dev/null
@@ -1,6 +0,0 @@
-/*!
- * Bootstrap v3.3.6 (http://getbootstrap.com)
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */.btn-danger,.btn-default,.btn-info,.btn-primary,.btn-success,.btn-warning{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-success.active,.btn-success:active,.btn-warning.active,.btn-warning:active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-danger.disabled,.btn-danger[disabled],.btn-default.disabled,.btn-default[disabled],.btn-info.disabled,.btn-info[disabled],.btn-primary.disabled,.btn-primary[disabled],.btn-success.disabled,.btn-success[disabled],.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-danger,fieldset[disabled] .btn-default,fieldset[disabled] .btn-info,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-success,fieldset[disabled] .btn-warning{-webkit-box-shadow:none;box-shadow:none}.btn-danger .badge,.btn-default .badge,.btn-info .badge,.btn-primary .badge,.btn-success .badge,.btn-warning .badge{text-shadow:none}.btn.active,.btn:active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;border-color:#ccc}.btn-default:focus,.btn-default:hover{background-color:#e0e0e0;background-position:0 -15px}.btn-default.active,.btn-default:active{background-color:#e0e0e0;border-color:#dbdbdb}.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:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-o-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#265a88));background-image:linear-gradient(to bottom,#337ab7 0,#265a88 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#245580}.btn-primary:focus,.btn-primary:hover{background-color:#265a88;background-position:0 -15px}.btn-primary.active,.btn-primary:active{background-color:#265a88;border-color:#245580}.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:#265a88;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:focus,.btn-success:hover{background-color:#419641;background-position:0 -15px}.btn-success.active,.btn-success:active{background-color:#419641;border-color:#3e8f3e}.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:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:focus,.btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.btn-info.active,.btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.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:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:focus,.btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.btn-warning.active,.btn-warning:active{background-color:#eb9316;border-color:#e38d13}.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:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:focus,.btn-danger:hover{background-color:#c12e2a;background-position:0 -15px}.btn-danger.active,.btn-danger:active{background-color:#c12e2a;border-color:#b92c28}.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:#c12e2a;background-image:none}.img-thumbnail,.thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#2e6da4;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-o-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-o-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dbdbdb),to(#e2e2e2));background-image:linear-gradient(to bottom,#dbdbdb 0,#e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-o-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-o-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#080808),to(#0f0f0f));background-image:linear-gradient(to bottom,#080808 0,#0f0f0f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);background-repeat:repeat-x;border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);background-repeat:repeat-x;border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);background-repeat:repeat-x;border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);background-repeat:repeat-x;border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-o-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#286090));background-image:linear-gradient(to bottom,#337ab7 0,#286090 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);background-repeat:repeat-x}.progress-bar-striped{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)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{text-shadow:0 -1px 0 #286090;background-image:-webkit-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2b669a));background-image:linear-gradient(to bottom,#337ab7 0,#2b669a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);background-repeat:repeat-x;border-color:#2b669a}.list-group-item.active .badge,.list-group-item.active:focus .badge,.list-group-item.active:hover .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)}
-/*# sourceMappingURL=bootstrap-theme.min.css.map */
\ No newline at end of file
diff --git a/static/css/bootstrap.css b/static/css/bootstrap.css
deleted file mode 100644
index 42c79d6..0000000
--- a/static/css/bootstrap.css
+++ /dev/null
@@ -1,6760 +0,0 @@
-/*!
- * Bootstrap v3.3.6 (http://getbootstrap.com)
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */
-/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
-html {
- font-family: sans-serif;
- -webkit-text-size-adjust: 100%;
- -ms-text-size-adjust: 100%;
-}
-body {
- margin: 0;
-}
-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,
-strong {
- font-weight: bold;
-}
-dfn {
- font-style: italic;
-}
-h1 {
- margin: .67em 0;
- font-size: 2em;
-}
-mark {
- color: #000;
- background: #ff0;
-}
-small {
- font-size: 80%;
-}
-sub,
-sup {
- position: relative;
- font-size: 75%;
- line-height: 0;
- vertical-align: baseline;
-}
-sup {
- top: -.5em;
-}
-sub {
- bottom: -.25em;
-}
-img {
- border: 0;
-}
-svg:not(:root) {
- overflow: hidden;
-}
-figure {
- margin: 1em 40px;
-}
-hr {
- height: 0;
- -webkit-box-sizing: content-box;
- -moz-box-sizing: content-box;
- box-sizing: content-box;
-}
-pre {
- overflow: auto;
-}
-code,
-kbd,
-pre,
-samp {
- font-family: monospace, monospace;
- font-size: 1em;
-}
-button,
-input,
-optgroup,
-select,
-textarea {
- margin: 0;
- font: inherit;
- color: inherit;
-}
-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 {
- padding: 0;
- border: 0;
-}
-input {
- line-height: normal;
-}
-input[type="checkbox"],
-input[type="radio"] {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- 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-box-sizing: content-box;
- -moz-box-sizing: content-box;
- box-sizing: content-box;
- -webkit-appearance: textfield;
-}
-input[type="search"]::-webkit-search-cancel-button,
-input[type="search"]::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-fieldset {
- padding: .35em .625em .75em;
- margin: 0 2px;
- border: 1px solid #c0c0c0;
-}
-legend {
- padding: 0;
- border: 0;
-}
-textarea {
- overflow: auto;
-}
-optgroup {
- font-weight: bold;
-}
-table {
- border-spacing: 0;
- border-collapse: collapse;
-}
-td,
-th {
- padding: 0;
-}
-/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
-@media print {
- *,
- *:before,
- *:after {
- color: #000 !important;
- text-shadow: none !important;
- background: transparent !important;
- -webkit-box-shadow: none !important;
- box-shadow: none !important;
- }
- a,
- a:visited {
- text-decoration: underline;
- }
- a[href]:after {
- content: " (" attr(href) ")";
- }
- abbr[title]:after {
- content: " (" attr(title) ")";
- }
- a[href^="#"]:after,
- a[href^="javascript:"]:after {
- content: "";
- }
- pre,
- blockquote {
- border: 1px solid #999;
-
- page-break-inside: avoid;
- }
- thead {
- display: table-header-group;
- }
- tr,
- img {
- page-break-inside: avoid;
- }
- img {
- max-width: 100% !important;
- }
- p,
- h2,
- h3 {
- orphans: 3;
- widows: 3;
- }
- h2,
- h3 {
- page-break-after: avoid;
- }
- .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 th,
- .table-bordered td {
- border: 1px solid #ddd !important;
- }
-}
-@font-face {
- font-family: 'Glyphicons Halflings';
-
- src: url('../fonts/glyphicons-halflings-regular.eot');
- src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../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: normal;
- line-height: 1;
-
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
-}
-.glyphicon-asterisk:before {
- content: "\002a";
-}
-.glyphicon-plus:before {
- content: "\002b";
-}
-.glyphicon-euro:before,
-.glyphicon-eur: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 {
- content: "\e227";
-}
-.glyphicon-btc:before {
- content: "\e227";
-}
-.glyphicon-xbt:before {
- content: "\e227";
-}
-.glyphicon-yen:before {
- content: "\00a5";
-}
-.glyphicon-jpy:before {
- content: "\00a5";
-}
-.glyphicon-ruble:before {
- content: "\20bd";
-}
-.glyphicon-rub: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";
-}
-* {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
-*:before,
-*:after {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
-html {
- font-size: 10px;
-
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-}
-body {
- font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
- font-size: 14px;
- line-height: 1.42857143;
- color: #333;
- background-color: #fff;
-}
-input,
-button,
-select,
-textarea {
- font-family: inherit;
- font-size: inherit;
- line-height: inherit;
-}
-a {
- color: #337ab7;
- text-decoration: none;
-}
-a:hover,
-a:focus {
- color: #23527c;
- text-decoration: underline;
-}
-a:focus {
- outline: thin dotted;
- outline: 5px auto -webkit-focus-ring-color;
- outline-offset: -2px;
-}
-figure {
- margin: 0;
-}
-img {
- vertical-align: middle;
-}
-.img-responsive,
-.thumbnail > img,
-.thumbnail a > img,
-.carousel-inner > .item > img,
-.carousel-inner > .item > a > img {
- display: block;
- max-width: 100%;
- height: auto;
-}
-.img-rounded {
- border-radius: 6px;
-}
-.img-thumbnail {
- display: inline-block;
- max-width: 100%;
- height: auto;
- padding: 4px;
- line-height: 1.42857143;
- background-color: #fff;
- border: 1px solid #ddd;
- border-radius: 4px;
- -webkit-transition: all .2s ease-in-out;
- -o-transition: all .2s ease-in-out;
- transition: all .2s ease-in-out;
-}
-.img-circle {
- border-radius: 50%;
-}
-hr {
- margin-top: 20px;
- margin-bottom: 20px;
- border: 0;
- border-top: 1px solid #eee;
-}
-.sr-only {
- position: absolute;
- width: 1px;
- height: 1px;
- padding: 0;
- margin: -1px;
- 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,
-h2 small,
-h3 small,
-h4 small,
-h5 small,
-h6 small,
-.h1 small,
-.h2 small,
-.h3 small,
-.h4 small,
-.h5 small,
-.h6 small,
-h1 .small,
-h2 .small,
-h3 .small,
-h4 .small,
-h5 .small,
-h6 .small,
-.h1 .small,
-.h2 .small,
-.h3 .small,
-.h4 .small,
-.h5 .small,
-.h6 .small {
- font-weight: normal;
- line-height: 1;
- color: #777;
-}
-h1,
-.h1,
-h2,
-.h2,
-h3,
-.h3 {
- margin-top: 20px;
- margin-bottom: 10px;
-}
-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,
-.h4,
-h5,
-.h5,
-h6,
-.h6 {
- margin-top: 10px;
- margin-bottom: 10px;
-}
-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: 36px;
-}
-h2,
-.h2 {
- font-size: 30px;
-}
-h3,
-.h3 {
- font-size: 24px;
-}
-h4,
-.h4 {
- font-size: 18px;
-}
-h5,
-.h5 {
- font-size: 14px;
-}
-h6,
-.h6 {
- font-size: 12px;
-}
-p {
- margin: 0 0 10px;
-}
-.lead {
- margin-bottom: 20px;
- font-size: 16px;
- font-weight: 300;
- line-height: 1.4;
-}
-@media (min-width: 768px) {
- .lead {
- font-size: 21px;
- }
-}
-small,
-.small {
- font-size: 85%;
-}
-mark,
-.mark {
- padding: .2em;
- background-color: #fcf8e3;
-}
-.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,
-a.text-primary:focus {
- color: #286090;
-}
-.text-success {
- color: #3c763d;
-}
-a.text-success:hover,
-a.text-success:focus {
- color: #2b542c;
-}
-.text-info {
- color: #31708f;
-}
-a.text-info:hover,
-a.text-info:focus {
- color: #245269;
-}
-.text-warning {
- color: #8a6d3b;
-}
-a.text-warning:hover,
-a.text-warning:focus {
- color: #66512c;
-}
-.text-danger {
- color: #a94442;
-}
-a.text-danger:hover,
-a.text-danger:focus {
- color: #843534;
-}
-.bg-primary {
- color: #fff;
- background-color: #337ab7;
-}
-a.bg-primary:hover,
-a.bg-primary:focus {
- background-color: #286090;
-}
-.bg-success {
- background-color: #dff0d8;
-}
-a.bg-success:hover,
-a.bg-success:focus {
- background-color: #c1e2b3;
-}
-.bg-info {
- background-color: #d9edf7;
-}
-a.bg-info:hover,
-a.bg-info:focus {
- background-color: #afd9ee;
-}
-.bg-warning {
- background-color: #fcf8e3;
-}
-a.bg-warning:hover,
-a.bg-warning:focus {
- background-color: #f7ecb5;
-}
-.bg-danger {
- background-color: #f2dede;
-}
-a.bg-danger:hover,
-a.bg-danger:focus {
- background-color: #e4b9b9;
-}
-.page-header {
- padding-bottom: 9px;
- margin: 40px 0 20px;
- border-bottom: 1px solid #eee;
-}
-ul,
-ol {
- margin-top: 0;
- margin-bottom: 10px;
-}
-ul ul,
-ol ul,
-ul ol,
-ol ol {
- margin-bottom: 0;
-}
-.list-unstyled {
- padding-left: 0;
- list-style: none;
-}
-.list-inline {
- padding-left: 0;
- margin-left: -5px;
- list-style: none;
-}
-.list-inline > li {
- display: inline-block;
- padding-right: 5px;
- padding-left: 5px;
-}
-dl {
- margin-top: 0;
- margin-bottom: 20px;
-}
-dt,
-dd {
- line-height: 1.42857143;
-}
-dt {
- font-weight: bold;
-}
-dd {
- margin-left: 0;
-}
-@media (min-width: 768px) {
- .dl-horizontal dt {
- float: left;
- width: 160px;
- overflow: hidden;
- clear: left;
- text-align: right;
- text-overflow: ellipsis;
- white-space: nowrap;
- }
- .dl-horizontal dd {
- margin-left: 180px;
- }
-}
-abbr[title],
-abbr[data-original-title] {
- cursor: help;
- border-bottom: 1px dotted #777;
-}
-.initialism {
- font-size: 90%;
- text-transform: uppercase;
-}
-blockquote {
- padding: 10px 20px;
- margin: 0 0 20px;
- font-size: 17.5px;
- border-left: 5px solid #eee;
-}
-blockquote p:last-child,
-blockquote ul:last-child,
-blockquote ol:last-child {
- margin-bottom: 0;
-}
-blockquote footer,
-blockquote small,
-blockquote .small {
- display: block;
- font-size: 80%;
- line-height: 1.42857143;
- color: #777;
-}
-blockquote footer:before,
-blockquote small:before,
-blockquote .small:before {
- content: '\2014 \00A0';
-}
-.blockquote-reverse,
-blockquote.pull-right {
- padding-right: 15px;
- padding-left: 0;
- text-align: right;
- border-right: 5px solid #eee;
- border-left: 0;
-}
-.blockquote-reverse footer:before,
-blockquote.pull-right footer:before,
-.blockquote-reverse small:before,
-blockquote.pull-right small:before,
-.blockquote-reverse .small:before,
-blockquote.pull-right .small:before {
- content: '';
-}
-.blockquote-reverse footer:after,
-blockquote.pull-right footer:after,
-.blockquote-reverse small:after,
-blockquote.pull-right small:after,
-.blockquote-reverse .small:after,
-blockquote.pull-right .small:after {
- content: '\00A0 \2014';
-}
-address {
- margin-bottom: 20px;
- font-style: normal;
- line-height: 1.42857143;
-}
-code,
-kbd,
-pre,
-samp {
- font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
-}
-code {
- padding: 2px 4px;
- font-size: 90%;
- color: #c7254e;
- background-color: #f9f2f4;
- border-radius: 4px;
-}
-kbd {
- padding: 2px 4px;
- font-size: 90%;
- color: #fff;
- background-color: #333;
- border-radius: 3px;
- -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);
- box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);
-}
-kbd kbd {
- padding: 0;
- font-size: 100%;
- font-weight: bold;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-pre {
- display: block;
- padding: 9.5px;
- margin: 0 0 10px;
- font-size: 13px;
- line-height: 1.42857143;
- color: #333;
- word-break: break-all;
- word-wrap: break-word;
- background-color: #f5f5f5;
- border: 1px solid #ccc;
- border-radius: 4px;
-}
-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 {
- padding-right: 15px;
- padding-left: 15px;
- margin-right: auto;
- margin-left: auto;
-}
-@media (min-width: 768px) {
- .container {
- width: 750px;
- }
-}
-@media (min-width: 992px) {
- .container {
- width: 970px;
- }
-}
-@media (min-width: 1200px) {
- .container {
- width: 1170px;
- }
-}
-.container-fluid {
- padding-right: 15px;
- padding-left: 15px;
- margin-right: auto;
- margin-left: auto;
-}
-.row {
- margin-right: -15px;
- margin-left: -15px;
-}
-.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
- position: relative;
- min-height: 1px;
- padding-right: 15px;
- padding-left: 15px;
-}
-.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
- 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-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
- 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-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
- 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-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
- 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: 20px;
-}
-.table > thead > tr > th,
-.table > tbody > tr > th,
-.table > tfoot > tr > th,
-.table > thead > tr > td,
-.table > tbody > tr > td,
-.table > tfoot > tr > td {
- 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 > th,
-.table > colgroup + thead > tr:first-child > th,
-.table > thead:first-child > tr:first-child > th,
-.table > caption + thead > tr:first-child > td,
-.table > colgroup + thead > tr:first-child > td,
-.table > thead:first-child > tr:first-child > td {
- border-top: 0;
-}
-.table > tbody + tbody {
- border-top: 2px solid #ddd;
-}
-.table .table {
- background-color: #fff;
-}
-.table-condensed > thead > tr > th,
-.table-condensed > tbody > tr > th,
-.table-condensed > tfoot > tr > th,
-.table-condensed > thead > tr > td,
-.table-condensed > tbody > tr > td,
-.table-condensed > tfoot > tr > td {
- padding: 5px;
-}
-.table-bordered {
- border: 1px solid #ddd;
-}
-.table-bordered > thead > tr > th,
-.table-bordered > tbody > tr > th,
-.table-bordered > tfoot > tr > th,
-.table-bordered > thead > tr > td,
-.table-bordered > tbody > tr > td,
-.table-bordered > tfoot > tr > td {
- border: 1px solid #ddd;
-}
-.table-bordered > thead > tr > th,
-.table-bordered > thead > tr > td {
- 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;
- display: table-column;
- float: none;
-}
-table td[class*="col-"],
-table th[class*="col-"] {
- position: static;
- display: table-cell;
- float: none;
-}
-.table > thead > tr > td.active,
-.table > tbody > tr > td.active,
-.table > tfoot > tr > td.active,
-.table > thead > tr > th.active,
-.table > tbody > tr > th.active,
-.table > tfoot > tr > th.active,
-.table > thead > tr.active > td,
-.table > tbody > tr.active > td,
-.table > tfoot > tr.active > td,
-.table > thead > tr.active > th,
-.table > tbody > tr.active > th,
-.table > tfoot > tr.active > th {
- background-color: #f5f5f5;
-}
-.table-hover > tbody > tr > td.active:hover,
-.table-hover > tbody > tr > th.active:hover,
-.table-hover > tbody > tr.active:hover > td,
-.table-hover > tbody > tr:hover > .active,
-.table-hover > tbody > tr.active:hover > th {
- background-color: #e8e8e8;
-}
-.table > thead > tr > td.success,
-.table > tbody > tr > td.success,
-.table > tfoot > tr > td.success,
-.table > thead > tr > th.success,
-.table > tbody > tr > th.success,
-.table > tfoot > tr > th.success,
-.table > thead > tr.success > td,
-.table > tbody > tr.success > td,
-.table > tfoot > tr.success > td,
-.table > thead > tr.success > th,
-.table > tbody > tr.success > th,
-.table > tfoot > tr.success > th {
- background-color: #dff0d8;
-}
-.table-hover > tbody > tr > td.success:hover,
-.table-hover > tbody > tr > th.success:hover,
-.table-hover > tbody > tr.success:hover > td,
-.table-hover > tbody > tr:hover > .success,
-.table-hover > tbody > tr.success:hover > th {
- background-color: #d0e9c6;
-}
-.table > thead > tr > td.info,
-.table > tbody > tr > td.info,
-.table > tfoot > tr > td.info,
-.table > thead > tr > th.info,
-.table > tbody > tr > th.info,
-.table > tfoot > tr > th.info,
-.table > thead > tr.info > td,
-.table > tbody > tr.info > td,
-.table > tfoot > tr.info > td,
-.table > thead > tr.info > th,
-.table > tbody > tr.info > th,
-.table > tfoot > tr.info > th {
- background-color: #d9edf7;
-}
-.table-hover > tbody > tr > td.info:hover,
-.table-hover > tbody > tr > th.info:hover,
-.table-hover > tbody > tr.info:hover > td,
-.table-hover > tbody > tr:hover > .info,
-.table-hover > tbody > tr.info:hover > th {
- background-color: #c4e3f3;
-}
-.table > thead > tr > td.warning,
-.table > tbody > tr > td.warning,
-.table > tfoot > tr > td.warning,
-.table > thead > tr > th.warning,
-.table > tbody > tr > th.warning,
-.table > tfoot > tr > th.warning,
-.table > thead > tr.warning > td,
-.table > tbody > tr.warning > td,
-.table > tfoot > tr.warning > td,
-.table > thead > tr.warning > th,
-.table > tbody > tr.warning > th,
-.table > tfoot > tr.warning > th {
- background-color: #fcf8e3;
-}
-.table-hover > tbody > tr > td.warning:hover,
-.table-hover > tbody > tr > th.warning:hover,
-.table-hover > tbody > tr.warning:hover > td,
-.table-hover > tbody > tr:hover > .warning,
-.table-hover > tbody > tr.warning:hover > th {
- background-color: #faf2cc;
-}
-.table > thead > tr > td.danger,
-.table > tbody > tr > td.danger,
-.table > tfoot > tr > td.danger,
-.table > thead > tr > th.danger,
-.table > tbody > tr > th.danger,
-.table > tfoot > tr > th.danger,
-.table > thead > tr.danger > td,
-.table > tbody > tr.danger > td,
-.table > tfoot > tr.danger > td,
-.table > thead > tr.danger > th,
-.table > tbody > tr.danger > th,
-.table > tfoot > tr.danger > th {
- background-color: #f2dede;
-}
-.table-hover > tbody > tr > td.danger:hover,
-.table-hover > tbody > tr > th.danger:hover,
-.table-hover > tbody > tr.danger:hover > td,
-.table-hover > tbody > tr:hover > .danger,
-.table-hover > tbody > tr.danger:hover > th {
- background-color: #ebcccc;
-}
-.table-responsive {
- min-height: .01%;
- overflow-x: auto;
-}
-@media screen and (max-width: 767px) {
- .table-responsive {
- width: 100%;
- margin-bottom: 15px;
- overflow-y: hidden;
- -ms-overflow-style: -ms-autohiding-scrollbar;
- border: 1px solid #ddd;
- }
- .table-responsive > .table {
- margin-bottom: 0;
- }
- .table-responsive > .table > thead > tr > th,
- .table-responsive > .table > tbody > tr > th,
- .table-responsive > .table > tfoot > tr > th,
- .table-responsive > .table > thead > tr > td,
- .table-responsive > .table > tbody > tr > td,
- .table-responsive > .table > tfoot > tr > td {
- white-space: nowrap;
- }
- .table-responsive > .table-bordered {
- border: 0;
- }
- .table-responsive > .table-bordered > thead > tr > th:first-child,
- .table-responsive > .table-bordered > tbody > tr > th:first-child,
- .table-responsive > .table-bordered > tfoot > tr > th:first-child,
- .table-responsive > .table-bordered > thead > tr > td:first-child,
- .table-responsive > .table-bordered > tbody > tr > td:first-child,
- .table-responsive > .table-bordered > tfoot > tr > td:first-child {
- border-left: 0;
- }
- .table-responsive > .table-bordered > thead > tr > th:last-child,
- .table-responsive > .table-bordered > tbody > tr > th:last-child,
- .table-responsive > .table-bordered > tfoot > tr > th:last-child,
- .table-responsive > .table-bordered > thead > tr > td:last-child,
- .table-responsive > .table-bordered > tbody > tr > td:last-child,
- .table-responsive > .table-bordered > tfoot > tr > td:last-child {
- border-right: 0;
- }
- .table-responsive > .table-bordered > tbody > tr:last-child > th,
- .table-responsive > .table-bordered > tfoot > tr:last-child > th,
- .table-responsive > .table-bordered > tbody > tr:last-child > td,
- .table-responsive > .table-bordered > tfoot > tr:last-child > td {
- border-bottom: 0;
- }
-}
-fieldset {
- min-width: 0;
- padding: 0;
- margin: 0;
- border: 0;
-}
-legend {
- display: block;
- width: 100%;
- padding: 0;
- margin-bottom: 20px;
- font-size: 21px;
- line-height: inherit;
- color: #333;
- border: 0;
- border-bottom: 1px solid #e5e5e5;
-}
-label {
- display: inline-block;
- max-width: 100%;
- margin-bottom: 5px;
- font-weight: bold;
-}
-input[type="search"] {
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
-}
-input[type="radio"],
-input[type="checkbox"] {
- 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="radio"]:focus,
-input[type="checkbox"]:focus {
- outline: thin dotted;
- outline: 5px auto -webkit-focus-ring-color;
- outline-offset: -2px;
-}
-output {
- display: block;
- padding-top: 7px;
- font-size: 14px;
- line-height: 1.42857143;
- color: #555;
-}
-.form-control {
- display: block;
- width: 100%;
- height: 34px;
- padding: 6px 12px;
- font-size: 14px;
- line-height: 1.42857143;
- color: #555;
- background-color: #fff;
- background-image: none;
- border: 1px solid #ccc;
- border-radius: 4px;
- -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, -webkit-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::-ms-expand {
- background-color: transparent;
- border: 0;
-}
-.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;
-}
-input[type="search"] {
- -webkit-appearance: none;
-}
-@media screen and (-webkit-min-device-pixel-ratio: 0) {
- input[type="date"].form-control,
- input[type="time"].form-control,
- input[type="datetime-local"].form-control,
- input[type="month"].form-control {
- line-height: 34px;
- }
- input[type="date"].input-sm,
- input[type="time"].input-sm,
- input[type="datetime-local"].input-sm,
- input[type="month"].input-sm,
- .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"] {
- line-height: 30px;
- }
- input[type="date"].input-lg,
- input[type="time"].input-lg,
- input[type="datetime-local"].input-lg,
- input[type="month"].input-lg,
- .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"] {
- line-height: 46px;
- }
-}
-.form-group {
- margin-bottom: 15px;
-}
-.radio,
-.checkbox {
- position: relative;
- display: block;
- margin-top: 10px;
- margin-bottom: 10px;
-}
-.radio label,
-.checkbox label {
- min-height: 20px;
- padding-left: 20px;
- margin-bottom: 0;
- font-weight: normal;
- cursor: pointer;
-}
-.radio input[type="radio"],
-.radio-inline input[type="radio"],
-.checkbox input[type="checkbox"],
-.checkbox-inline input[type="checkbox"] {
- position: absolute;
- margin-top: 4px \9;
- margin-left: -20px;
-}
-.radio + .radio,
-.checkbox + .checkbox {
- margin-top: -5px;
-}
-.radio-inline,
-.checkbox-inline {
- position: relative;
- display: inline-block;
- padding-left: 20px;
- margin-bottom: 0;
- font-weight: normal;
- vertical-align: middle;
- cursor: pointer;
-}
-.radio-inline + .radio-inline,
-.checkbox-inline + .checkbox-inline {
- margin-top: 0;
- margin-left: 10px;
-}
-input[type="radio"][disabled],
-input[type="checkbox"][disabled],
-input[type="radio"].disabled,
-input[type="checkbox"].disabled,
-fieldset[disabled] input[type="radio"],
-fieldset[disabled] input[type="checkbox"] {
- cursor: not-allowed;
-}
-.radio-inline.disabled,
-.checkbox-inline.disabled,
-fieldset[disabled] .radio-inline,
-fieldset[disabled] .checkbox-inline {
- cursor: not-allowed;
-}
-.radio.disabled label,
-.checkbox.disabled label,
-fieldset[disabled] .radio label,
-fieldset[disabled] .checkbox label {
- cursor: not-allowed;
-}
-.form-control-static {
- min-height: 34px;
- padding-top: 7px;
- padding-bottom: 7px;
- margin-bottom: 0;
-}
-.form-control-static.input-lg,
-.form-control-static.input-sm {
- padding-right: 0;
- padding-left: 0;
-}
-.input-sm {
- height: 30px;
- padding: 5px 10px;
- font-size: 12px;
- line-height: 1.5;
- border-radius: 3px;
-}
-select.input-sm {
- height: 30px;
- line-height: 30px;
-}
-textarea.input-sm,
-select[multiple].input-sm {
- height: auto;
-}
-.form-group-sm .form-control {
- height: 30px;
- padding: 5px 10px;
- font-size: 12px;
- line-height: 1.5;
- border-radius: 3px;
-}
-.form-group-sm select.form-control {
- height: 30px;
- line-height: 30px;
-}
-.form-group-sm textarea.form-control,
-.form-group-sm select[multiple].form-control {
- height: auto;
-}
-.form-group-sm .form-control-static {
- height: 30px;
- min-height: 32px;
- padding: 6px 10px;
- font-size: 12px;
- line-height: 1.5;
-}
-.input-lg {
- height: 46px;
- padding: 10px 16px;
- font-size: 18px;
- line-height: 1.3333333;
- border-radius: 6px;
-}
-select.input-lg {
- height: 46px;
- line-height: 46px;
-}
-textarea.input-lg,
-select[multiple].input-lg {
- height: auto;
-}
-.form-group-lg .form-control {
- height: 46px;
- padding: 10px 16px;
- font-size: 18px;
- line-height: 1.3333333;
- border-radius: 6px;
-}
-.form-group-lg select.form-control {
- height: 46px;
- line-height: 46px;
-}
-.form-group-lg textarea.form-control,
-.form-group-lg select[multiple].form-control {
- height: auto;
-}
-.form-group-lg .form-control-static {
- height: 46px;
- min-height: 38px;
- padding: 11px 16px;
- font-size: 18px;
- line-height: 1.3333333;
-}
-.has-feedback {
- position: relative;
-}
-.has-feedback .form-control {
- padding-right: 42.5px;
-}
-.form-control-feedback {
- position: absolute;
- top: 0;
- right: 0;
- z-index: 2;
- display: block;
- width: 34px;
- height: 34px;
- line-height: 34px;
- text-align: center;
- pointer-events: none;
-}
-.input-lg + .form-control-feedback,
-.input-group-lg + .form-control-feedback,
-.form-group-lg .form-control + .form-control-feedback {
- width: 46px;
- height: 46px;
- line-height: 46px;
-}
-.input-sm + .form-control-feedback,
-.input-group-sm + .form-control-feedback,
-.form-group-sm .form-control + .form-control-feedback {
- width: 30px;
- height: 30px;
- line-height: 30px;
-}
-.has-success .help-block,
-.has-success .control-label,
-.has-success .radio,
-.has-success .checkbox,
-.has-success .radio-inline,
-.has-success .checkbox-inline,
-.has-success.radio label,
-.has-success.checkbox label,
-.has-success.radio-inline label,
-.has-success.checkbox-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;
- background-color: #dff0d8;
- border-color: #3c763d;
-}
-.has-success .form-control-feedback {
- color: #3c763d;
-}
-.has-warning .help-block,
-.has-warning .control-label,
-.has-warning .radio,
-.has-warning .checkbox,
-.has-warning .radio-inline,
-.has-warning .checkbox-inline,
-.has-warning.radio label,
-.has-warning.checkbox label,
-.has-warning.radio-inline label,
-.has-warning.checkbox-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;
- background-color: #fcf8e3;
- border-color: #8a6d3b;
-}
-.has-warning .form-control-feedback {
- color: #8a6d3b;
-}
-.has-error .help-block,
-.has-error .control-label,
-.has-error .radio,
-.has-error .checkbox,
-.has-error .radio-inline,
-.has-error .checkbox-inline,
-.has-error.radio label,
-.has-error.checkbox label,
-.has-error.radio-inline label,
-.has-error.checkbox-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;
- background-color: #f2dede;
- border-color: #a94442;
-}
-.has-error .form-control-feedback {
- color: #a94442;
-}
-.has-feedback label ~ .form-control-feedback {
- top: 25px;
-}
-.has-feedback label.sr-only ~ .form-control-feedback {
- top: 0;
-}
-.help-block {
- display: block;
- margin-top: 5px;
- margin-bottom: 10px;
- color: #737373;
-}
-@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 .input-group-addon,
- .form-inline .input-group .input-group-btn,
- .form-inline .input-group .form-control {
- width: auto;
- }
- .form-inline .input-group > .form-control {
- width: 100%;
- }
- .form-inline .control-label {
- margin-bottom: 0;
- vertical-align: middle;
- }
- .form-inline .radio,
- .form-inline .checkbox {
- display: inline-block;
- margin-top: 0;
- margin-bottom: 0;
- vertical-align: middle;
- }
- .form-inline .radio label,
- .form-inline .checkbox label {
- padding-left: 0;
- }
- .form-inline .radio input[type="radio"],
- .form-inline .checkbox input[type="checkbox"] {
- position: relative;
- margin-left: 0;
- }
- .form-inline .has-feedback .form-control-feedback {
- top: 0;
- }
-}
-.form-horizontal .radio,
-.form-horizontal .checkbox,
-.form-horizontal .radio-inline,
-.form-horizontal .checkbox-inline {
- padding-top: 7px;
- margin-top: 0;
- margin-bottom: 0;
-}
-.form-horizontal .radio,
-.form-horizontal .checkbox {
- min-height: 27px;
-}
-.form-horizontal .form-group {
- margin-right: -15px;
- margin-left: -15px;
-}
-@media (min-width: 768px) {
- .form-horizontal .control-label {
- padding-top: 7px;
- margin-bottom: 0;
- text-align: right;
- }
-}
-.form-horizontal .has-feedback .form-control-feedback {
- right: 15px;
-}
-@media (min-width: 768px) {
- .form-horizontal .form-group-lg .control-label {
- padding-top: 11px;
- font-size: 18px;
- }
-}
-@media (min-width: 768px) {
- .form-horizontal .form-group-sm .control-label {
- padding-top: 6px;
- font-size: 12px;
- }
-}
-.btn {
- display: inline-block;
- padding: 6px 12px;
- margin-bottom: 0;
- font-size: 14px;
- font-weight: normal;
- line-height: 1.42857143;
- text-align: center;
- white-space: nowrap;
- vertical-align: middle;
- -ms-touch-action: manipulation;
- touch-action: manipulation;
- cursor: pointer;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- background-image: none;
- border: 1px solid transparent;
- border-radius: 4px;
-}
-.btn:focus,
-.btn:active:focus,
-.btn.active:focus,
-.btn.focus,
-.btn:active.focus,
-.btn.active.focus {
- outline: thin dotted;
- outline: 5px auto -webkit-focus-ring-color;
- outline-offset: -2px;
-}
-.btn:hover,
-.btn:focus,
-.btn.focus {
- color: #333;
- text-decoration: none;
-}
-.btn:active,
-.btn.active {
- background-image: none;
- outline: 0;
- -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;
- filter: alpha(opacity=65);
- -webkit-box-shadow: none;
- box-shadow: none;
- opacity: .65;
-}
-a.btn.disabled,
-fieldset[disabled] a.btn {
- pointer-events: none;
-}
-.btn-default {
- color: #333;
- background-color: #fff;
- border-color: #ccc;
-}
-.btn-default:focus,
-.btn-default.focus {
- color: #333;
- background-color: #e6e6e6;
- border-color: #8c8c8c;
-}
-.btn-default:hover {
- color: #333;
- background-color: #e6e6e6;
- border-color: #adadad;
-}
-.btn-default:active,
-.btn-default.active,
-.open > .dropdown-toggle.btn-default {
- color: #333;
- background-color: #e6e6e6;
- border-color: #adadad;
-}
-.btn-default:active:hover,
-.btn-default.active:hover,
-.open > .dropdown-toggle.btn-default:hover,
-.btn-default:active:focus,
-.btn-default.active:focus,
-.open > .dropdown-toggle.btn-default:focus,
-.btn-default:active.focus,
-.btn-default.active.focus,
-.open > .dropdown-toggle.btn-default.focus {
- color: #333;
- background-color: #d4d4d4;
- border-color: #8c8c8c;
-}
-.btn-default:active,
-.btn-default.active,
-.open > .dropdown-toggle.btn-default {
- background-image: none;
-}
-.btn-default.disabled:hover,
-.btn-default[disabled]:hover,
-fieldset[disabled] .btn-default:hover,
-.btn-default.disabled:focus,
-.btn-default[disabled]:focus,
-fieldset[disabled] .btn-default:focus,
-.btn-default.disabled.focus,
-.btn-default[disabled].focus,
-fieldset[disabled] .btn-default.focus {
- 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:focus,
-.btn-primary.focus {
- color: #fff;
- background-color: #286090;
- border-color: #122b40;
-}
-.btn-primary:hover {
- color: #fff;
- background-color: #286090;
- border-color: #204d74;
-}
-.btn-primary:active,
-.btn-primary.active,
-.open > .dropdown-toggle.btn-primary {
- color: #fff;
- background-color: #286090;
- border-color: #204d74;
-}
-.btn-primary:active:hover,
-.btn-primary.active:hover,
-.open > .dropdown-toggle.btn-primary:hover,
-.btn-primary:active:focus,
-.btn-primary.active:focus,
-.open > .dropdown-toggle.btn-primary:focus,
-.btn-primary:active.focus,
-.btn-primary.active.focus,
-.open > .dropdown-toggle.btn-primary.focus {
- color: #fff;
- background-color: #204d74;
- border-color: #122b40;
-}
-.btn-primary:active,
-.btn-primary.active,
-.open > .dropdown-toggle.btn-primary {
- background-image: none;
-}
-.btn-primary.disabled:hover,
-.btn-primary[disabled]:hover,
-fieldset[disabled] .btn-primary:hover,
-.btn-primary.disabled:focus,
-.btn-primary[disabled]:focus,
-fieldset[disabled] .btn-primary:focus,
-.btn-primary.disabled.focus,
-.btn-primary[disabled].focus,
-fieldset[disabled] .btn-primary.focus {
- 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:focus,
-.btn-success.focus {
- color: #fff;
- background-color: #449d44;
- border-color: #255625;
-}
-.btn-success:hover {
- color: #fff;
- background-color: #449d44;
- border-color: #398439;
-}
-.btn-success:active,
-.btn-success.active,
-.open > .dropdown-toggle.btn-success {
- color: #fff;
- background-color: #449d44;
- border-color: #398439;
-}
-.btn-success:active:hover,
-.btn-success.active:hover,
-.open > .dropdown-toggle.btn-success:hover,
-.btn-success:active:focus,
-.btn-success.active:focus,
-.open > .dropdown-toggle.btn-success:focus,
-.btn-success:active.focus,
-.btn-success.active.focus,
-.open > .dropdown-toggle.btn-success.focus {
- color: #fff;
- background-color: #398439;
- border-color: #255625;
-}
-.btn-success:active,
-.btn-success.active,
-.open > .dropdown-toggle.btn-success {
- background-image: none;
-}
-.btn-success.disabled:hover,
-.btn-success[disabled]:hover,
-fieldset[disabled] .btn-success:hover,
-.btn-success.disabled:focus,
-.btn-success[disabled]:focus,
-fieldset[disabled] .btn-success:focus,
-.btn-success.disabled.focus,
-.btn-success[disabled].focus,
-fieldset[disabled] .btn-success.focus {
- 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:focus,
-.btn-info.focus {
- color: #fff;
- background-color: #31b0d5;
- border-color: #1b6d85;
-}
-.btn-info:hover {
- color: #fff;
- background-color: #31b0d5;
- border-color: #269abc;
-}
-.btn-info:active,
-.btn-info.active,
-.open > .dropdown-toggle.btn-info {
- color: #fff;
- background-color: #31b0d5;
- border-color: #269abc;
-}
-.btn-info:active:hover,
-.btn-info.active:hover,
-.open > .dropdown-toggle.btn-info:hover,
-.btn-info:active:focus,
-.btn-info.active:focus,
-.open > .dropdown-toggle.btn-info:focus,
-.btn-info:active.focus,
-.btn-info.active.focus,
-.open > .dropdown-toggle.btn-info.focus {
- color: #fff;
- background-color: #269abc;
- border-color: #1b6d85;
-}
-.btn-info:active,
-.btn-info.active,
-.open > .dropdown-toggle.btn-info {
- background-image: none;
-}
-.btn-info.disabled:hover,
-.btn-info[disabled]:hover,
-fieldset[disabled] .btn-info:hover,
-.btn-info.disabled:focus,
-.btn-info[disabled]:focus,
-fieldset[disabled] .btn-info:focus,
-.btn-info.disabled.focus,
-.btn-info[disabled].focus,
-fieldset[disabled] .btn-info.focus {
- 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:focus,
-.btn-warning.focus {
- color: #fff;
- background-color: #ec971f;
- border-color: #985f0d;
-}
-.btn-warning:hover {
- color: #fff;
- background-color: #ec971f;
- border-color: #d58512;
-}
-.btn-warning:active,
-.btn-warning.active,
-.open > .dropdown-toggle.btn-warning {
- color: #fff;
- background-color: #ec971f;
- border-color: #d58512;
-}
-.btn-warning:active:hover,
-.btn-warning.active:hover,
-.open > .dropdown-toggle.btn-warning:hover,
-.btn-warning:active:focus,
-.btn-warning.active:focus,
-.open > .dropdown-toggle.btn-warning:focus,
-.btn-warning:active.focus,
-.btn-warning.active.focus,
-.open > .dropdown-toggle.btn-warning.focus {
- color: #fff;
- background-color: #d58512;
- border-color: #985f0d;
-}
-.btn-warning:active,
-.btn-warning.active,
-.open > .dropdown-toggle.btn-warning {
- background-image: none;
-}
-.btn-warning.disabled:hover,
-.btn-warning[disabled]:hover,
-fieldset[disabled] .btn-warning:hover,
-.btn-warning.disabled:focus,
-.btn-warning[disabled]:focus,
-fieldset[disabled] .btn-warning:focus,
-.btn-warning.disabled.focus,
-.btn-warning[disabled].focus,
-fieldset[disabled] .btn-warning.focus {
- 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:focus,
-.btn-danger.focus {
- color: #fff;
- background-color: #c9302c;
- border-color: #761c19;
-}
-.btn-danger:hover {
- color: #fff;
- background-color: #c9302c;
- border-color: #ac2925;
-}
-.btn-danger:active,
-.btn-danger.active,
-.open > .dropdown-toggle.btn-danger {
- color: #fff;
- background-color: #c9302c;
- border-color: #ac2925;
-}
-.btn-danger:active:hover,
-.btn-danger.active:hover,
-.open > .dropdown-toggle.btn-danger:hover,
-.btn-danger:active:focus,
-.btn-danger.active:focus,
-.open > .dropdown-toggle.btn-danger:focus,
-.btn-danger:active.focus,
-.btn-danger.active.focus,
-.open > .dropdown-toggle.btn-danger.focus {
- color: #fff;
- background-color: #ac2925;
- border-color: #761c19;
-}
-.btn-danger:active,
-.btn-danger.active,
-.open > .dropdown-toggle.btn-danger {
- background-image: none;
-}
-.btn-danger.disabled:hover,
-.btn-danger[disabled]:hover,
-fieldset[disabled] .btn-danger:hover,
-.btn-danger.disabled:focus,
-.btn-danger[disabled]:focus,
-fieldset[disabled] .btn-danger:focus,
-.btn-danger.disabled.focus,
-.btn-danger[disabled].focus,
-fieldset[disabled] .btn-danger.focus {
- background-color: #d9534f;
- border-color: #d43f3a;
-}
-.btn-danger .badge {
- color: #d9534f;
- background-color: #fff;
-}
-.btn-link {
- font-weight: normal;
- color: #337ab7;
- 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:hover,
-.btn-link:focus,
-.btn-link:active {
- border-color: transparent;
-}
-.btn-link:hover,
-.btn-link:focus {
- color: #23527c;
- text-decoration: underline;
- background-color: transparent;
-}
-.btn-link[disabled]:hover,
-fieldset[disabled] .btn-link:hover,
-.btn-link[disabled]:focus,
-fieldset[disabled] .btn-link:focus {
- color: #777;
- text-decoration: none;
-}
-.btn-lg,
-.btn-group-lg > .btn {
- padding: 10px 16px;
- font-size: 18px;
- line-height: 1.3333333;
- border-radius: 6px;
-}
-.btn-sm,
-.btn-group-sm > .btn {
- padding: 5px 10px;
- font-size: 12px;
- line-height: 1.5;
- border-radius: 3px;
-}
-.btn-xs,
-.btn-group-xs > .btn {
- padding: 1px 5px;
- font-size: 12px;
- line-height: 1.5;
- border-radius: 3px;
-}
-.btn-block {
- display: block;
- width: 100%;
-}
-.btn-block + .btn-block {
- margin-top: 5px;
-}
-input[type="submit"].btn-block,
-input[type="reset"].btn-block,
-input[type="button"].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-timing-function: ease;
- -o-transition-timing-function: ease;
- transition-timing-function: ease;
- -webkit-transition-duration: .35s;
- -o-transition-duration: .35s;
- transition-duration: .35s;
- -webkit-transition-property: height, visibility;
- -o-transition-property: height, visibility;
- transition-property: height, visibility;
-}
-.caret {
- display: inline-block;
- width: 0;
- height: 0;
- margin-left: 2px;
- vertical-align: middle;
- border-top: 4px dashed;
- border-top: 4px solid \9;
- border-right: 4px solid transparent;
- border-left: 4px solid transparent;
-}
-.dropup,
-.dropdown {
- 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;
- font-size: 14px;
- text-align: left;
- list-style: none;
- background-color: #fff;
- -webkit-background-clip: padding-box;
- background-clip: padding-box;
- border: 1px solid #ccc;
- border: 1px solid rgba(0, 0, 0, .15);
- border-radius: 4px;
- -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
- box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
-}
-.dropdown-menu.pull-right {
- right: 0;
- left: auto;
-}
-.dropdown-menu .divider {
- height: 1px;
- margin: 9px 0;
- overflow: hidden;
- background-color: #e5e5e5;
-}
-.dropdown-menu > li > a {
- display: block;
- padding: 3px 20px;
- clear: both;
- font-weight: normal;
- line-height: 1.42857143;
- color: #333;
- white-space: nowrap;
-}
-.dropdown-menu > li > a:hover,
-.dropdown-menu > li > a:focus {
- color: #262626;
- text-decoration: none;
- background-color: #f5f5f5;
-}
-.dropdown-menu > .active > a,
-.dropdown-menu > .active > a:hover,
-.dropdown-menu > .active > a:focus {
- color: #fff;
- text-decoration: none;
- background-color: #337ab7;
- outline: 0;
-}
-.dropdown-menu > .disabled > a,
-.dropdown-menu > .disabled > a:hover,
-.dropdown-menu > .disabled > a:focus {
- color: #777;
-}
-.dropdown-menu > .disabled > a:hover,
-.dropdown-menu > .disabled > a:focus {
- text-decoration: none;
- cursor: not-allowed;
- background-color: transparent;
- background-image: none;
- filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
-}
-.open > .dropdown-menu {
- display: block;
-}
-.open > a {
- outline: 0;
-}
-.dropdown-menu-right {
- right: 0;
- left: auto;
-}
-.dropdown-menu-left {
- right: auto;
- left: 0;
-}
-.dropdown-header {
- display: block;
- padding: 3px 20px;
- font-size: 12px;
- line-height: 1.42857143;
- color: #777;
- white-space: nowrap;
-}
-.dropdown-backdrop {
- position: fixed;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- z-index: 990;
-}
-.pull-right > .dropdown-menu {
- right: 0;
- left: auto;
-}
-.dropup .caret,
-.navbar-fixed-bottom .dropdown .caret {
- content: "";
- border-top: 0;
- border-bottom: 4px dashed;
- border-bottom: 4px solid \9;
-}
-.dropup .dropdown-menu,
-.navbar-fixed-bottom .dropdown .dropdown-menu {
- top: auto;
- bottom: 100%;
- margin-bottom: 2px;
-}
-@media (min-width: 768px) {
- .navbar-right .dropdown-menu {
- right: 0;
- left: auto;
- }
- .navbar-right .dropdown-menu-left {
- right: auto;
- left: 0;
- }
-}
-.btn-group,
-.btn-group-vertical {
- position: relative;
- display: inline-block;
- vertical-align: middle;
-}
-.btn-group > .btn,
-.btn-group-vertical > .btn {
- position: relative;
- float: left;
-}
-.btn-group > .btn:hover,
-.btn-group-vertical > .btn:hover,
-.btn-group > .btn:focus,
-.btn-group-vertical > .btn:focus,
-.btn-group > .btn:active,
-.btn-group-vertical > .btn:active,
-.btn-group > .btn.active,
-.btn-group-vertical > .btn.active {
- 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,
-.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-top-right-radius: 0;
- border-bottom-right-radius: 0;
-}
-.btn-group > .btn:last-child:not(:first-child),
-.btn-group > .dropdown-toggle:not(:first-child) {
- border-top-left-radius: 0;
- border-bottom-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-top-right-radius: 0;
- border-bottom-right-radius: 0;
-}
-.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
- border-top-left-radius: 0;
- border-bottom-left-radius: 0;
-}
-.btn-group .dropdown-toggle:active,
-.btn-group.open .dropdown-toggle {
- outline: 0;
-}
-.btn-group > .btn + .dropdown-toggle {
- padding-right: 8px;
- padding-left: 8px;
-}
-.btn-group > .btn-lg + .dropdown-toggle {
- padding-right: 12px;
- padding-left: 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;
- border-bottom-width: 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-left-radius: 4px;
- border-top-right-radius: 4px;
- border-bottom-right-radius: 0;
- border-bottom-left-radius: 0;
-}
-.btn-group-vertical > .btn:last-child:not(:first-child) {
- border-top-left-radius: 0;
- border-top-right-radius: 0;
- border-bottom-right-radius: 4px;
- border-bottom-left-radius: 4px;
-}
-.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-left-radius: 0;
- border-top-right-radius: 0;
-}
-.btn-group-justified {
- display: table;
- width: 100%;
- table-layout: fixed;
- border-collapse: separate;
-}
-.btn-group-justified > .btn,
-.btn-group-justified > .btn-group {
- display: table-cell;
- float: none;
- 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="radio"],
-[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
-[data-toggle="buttons"] > .btn input[type="checkbox"],
-[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
- 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-right: 0;
- padding-left: 0;
-}
-.input-group .form-control {
- position: relative;
- z-index: 2;
- float: left;
- width: 100%;
- margin-bottom: 0;
-}
-.input-group .form-control:focus {
- z-index: 3;
-}
-.input-group-lg > .form-control,
-.input-group-lg > .input-group-addon,
-.input-group-lg > .input-group-btn > .btn {
- height: 46px;
- padding: 10px 16px;
- font-size: 18px;
- line-height: 1.3333333;
- border-radius: 6px;
-}
-select.input-group-lg > .form-control,
-select.input-group-lg > .input-group-addon,
-select.input-group-lg > .input-group-btn > .btn {
- height: 46px;
- line-height: 46px;
-}
-textarea.input-group-lg > .form-control,
-textarea.input-group-lg > .input-group-addon,
-textarea.input-group-lg > .input-group-btn > .btn,
-select[multiple].input-group-lg > .form-control,
-select[multiple].input-group-lg > .input-group-addon,
-select[multiple].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: 3px;
-}
-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;
-}
-textarea.input-group-sm > .form-control,
-textarea.input-group-sm > .input-group-addon,
-textarea.input-group-sm > .input-group-btn > .btn,
-select[multiple].input-group-sm > .form-control,
-select[multiple].input-group-sm > .input-group-addon,
-select[multiple].input-group-sm > .input-group-btn > .btn {
- height: auto;
-}
-.input-group-addon,
-.input-group-btn,
-.input-group .form-control {
- display: table-cell;
-}
-.input-group-addon:not(:first-child):not(:last-child),
-.input-group-btn:not(:first-child):not(:last-child),
-.input-group .form-control: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: 14px;
- font-weight: normal;
- line-height: 1;
- color: #555;
- text-align: center;
- background-color: #eee;
- border: 1px solid #ccc;
- border-radius: 4px;
-}
-.input-group-addon.input-sm {
- padding: 5px 10px;
- font-size: 12px;
- border-radius: 3px;
-}
-.input-group-addon.input-lg {
- padding: 10px 16px;
- font-size: 18px;
- border-radius: 6px;
-}
-.input-group-addon input[type="radio"],
-.input-group-addon input[type="checkbox"] {
- 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:not(:last-child):not(.dropdown-toggle),
-.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
- border-top-right-radius: 0;
- border-bottom-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:last-child > .btn,
-.input-group-btn:last-child > .btn-group > .btn,
-.input-group-btn:last-child > .dropdown-toggle,
-.input-group-btn:first-child > .btn:not(:first-child),
-.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
- border-top-left-radius: 0;
- border-bottom-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:hover,
-.input-group-btn > .btn:focus,
-.input-group-btn > .btn:active {
- 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 {
- z-index: 2;
- margin-left: -1px;
-}
-.nav {
- padding-left: 0;
- margin-bottom: 0;
- list-style: none;
-}
-.nav > li {
- position: relative;
- display: block;
-}
-.nav > li > a {
- position: relative;
- display: block;
- padding: 10px 15px;
-}
-.nav > li > a:hover,
-.nav > li > a:focus {
- text-decoration: none;
- background-color: #eee;
-}
-.nav > li.disabled > a {
- color: #777;
-}
-.nav > li.disabled > a:hover,
-.nav > li.disabled > a:focus {
- color: #777;
- text-decoration: none;
- cursor: not-allowed;
- background-color: transparent;
-}
-.nav .open > a,
-.nav .open > a:hover,
-.nav .open > a:focus {
- background-color: #eee;
- border-color: #337ab7;
-}
-.nav .nav-divider {
- height: 1px;
- margin: 9px 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: 4px 4px 0 0;
-}
-.nav-tabs > li > a:hover {
- border-color: #eee #eee #ddd;
-}
-.nav-tabs > li.active > a,
-.nav-tabs > li.active > a:hover,
-.nav-tabs > li.active > a:focus {
- color: #555;
- cursor: default;
- background-color: #fff;
- border: 1px solid #ddd;
- border-bottom-color: transparent;
-}
-.nav-tabs.nav-justified {
- width: 100%;
- border-bottom: 0;
-}
-.nav-tabs.nav-justified > li {
- float: none;
-}
-.nav-tabs.nav-justified > li > a {
- margin-bottom: 5px;
- text-align: center;
-}
-.nav-tabs.nav-justified > .dropdown .dropdown-menu {
- top: auto;
- left: auto;
-}
-@media (min-width: 768px) {
- .nav-tabs.nav-justified > li {
- display: table-cell;
- width: 1%;
- }
- .nav-tabs.nav-justified > li > a {
- margin-bottom: 0;
- }
-}
-.nav-tabs.nav-justified > li > a {
- margin-right: 0;
- border-radius: 4px;
-}
-.nav-tabs.nav-justified > .active > a,
-.nav-tabs.nav-justified > .active > a:hover,
-.nav-tabs.nav-justified > .active > a:focus {
- border: 1px solid #ddd;
-}
-@media (min-width: 768px) {
- .nav-tabs.nav-justified > li > a {
- border-bottom: 1px solid #ddd;
- border-radius: 4px 4px 0 0;
- }
- .nav-tabs.nav-justified > .active > a,
- .nav-tabs.nav-justified > .active > a:hover,
- .nav-tabs.nav-justified > .active > a:focus {
- border-bottom-color: #fff;
- }
-}
-.nav-pills > li {
- float: left;
-}
-.nav-pills > li > a {
- border-radius: 4px;
-}
-.nav-pills > li + li {
- margin-left: 2px;
-}
-.nav-pills > li.active > a,
-.nav-pills > li.active > a:hover,
-.nav-pills > li.active > a:focus {
- 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 {
- margin-bottom: 5px;
- text-align: center;
-}
-.nav-justified > .dropdown .dropdown-menu {
- top: auto;
- left: auto;
-}
-@media (min-width: 768px) {
- .nav-justified > li {
- display: table-cell;
- width: 1%;
- }
- .nav-justified > li > a {
- margin-bottom: 0;
- }
-}
-.nav-tabs-justified {
- border-bottom: 0;
-}
-.nav-tabs-justified > li > a {
- margin-right: 0;
- border-radius: 4px;
-}
-.nav-tabs-justified > .active > a,
-.nav-tabs-justified > .active > a:hover,
-.nav-tabs-justified > .active > a:focus {
- border: 1px solid #ddd;
-}
-@media (min-width: 768px) {
- .nav-tabs-justified > li > a {
- border-bottom: 1px solid #ddd;
- border-radius: 4px 4px 0 0;
- }
- .nav-tabs-justified > .active > a,
- .nav-tabs-justified > .active > a:hover,
- .nav-tabs-justified > .active > a:focus {
- border-bottom-color: #fff;
- }
-}
-.tab-content > .tab-pane {
- display: none;
-}
-.tab-content > .active {
- display: block;
-}
-.nav-tabs .dropdown-menu {
- margin-top: -1px;
- border-top-left-radius: 0;
- border-top-right-radius: 0;
-}
-.navbar {
- position: relative;
- min-height: 50px;
- margin-bottom: 20px;
- border: 1px solid transparent;
-}
-@media (min-width: 768px) {
- .navbar {
- border-radius: 4px;
- }
-}
-@media (min-width: 768px) {
- .navbar-header {
- float: left;
- }
-}
-.navbar-collapse {
- padding-right: 15px;
- padding-left: 15px;
- overflow-x: visible;
- -webkit-overflow-scrolling: touch;
- border-top: 1px solid transparent;
- -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
- box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
-}
-.navbar-collapse.in {
- overflow-y: auto;
-}
-@media (min-width: 768px) {
- .navbar-collapse {
- width: auto;
- border-top: 0;
- -webkit-box-shadow: none;
- 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-top .navbar-collapse,
- .navbar-static-top .navbar-collapse,
- .navbar-fixed-bottom .navbar-collapse {
- padding-right: 0;
- padding-left: 0;
- }
-}
-.navbar-fixed-top .navbar-collapse,
-.navbar-fixed-bottom .navbar-collapse {
- max-height: 340px;
-}
-@media (max-device-width: 480px) and (orientation: landscape) {
- .navbar-fixed-top .navbar-collapse,
- .navbar-fixed-bottom .navbar-collapse {
- max-height: 200px;
- }
-}
-.container > .navbar-header,
-.container-fluid > .navbar-header,
-.container > .navbar-collapse,
-.container-fluid > .navbar-collapse {
- margin-right: -15px;
- margin-left: -15px;
-}
-@media (min-width: 768px) {
- .container > .navbar-header,
- .container-fluid > .navbar-header,
- .container > .navbar-collapse,
- .container-fluid > .navbar-collapse {
- margin-right: 0;
- margin-left: 0;
- }
-}
-.navbar-static-top {
- z-index: 1000;
- border-width: 0 0 1px;
-}
-@media (min-width: 768px) {
- .navbar-static-top {
- border-radius: 0;
- }
-}
-.navbar-fixed-top,
-.navbar-fixed-bottom {
- position: fixed;
- right: 0;
- left: 0;
- z-index: 1030;
-}
-@media (min-width: 768px) {
- .navbar-fixed-top,
- .navbar-fixed-bottom {
- 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;
- height: 50px;
- padding: 15px 15px;
- font-size: 18px;
- line-height: 20px;
-}
-.navbar-brand:hover,
-.navbar-brand:focus {
- text-decoration: none;
-}
-.navbar-brand > img {
- display: block;
-}
-@media (min-width: 768px) {
- .navbar > .container .navbar-brand,
- .navbar > .container-fluid .navbar-brand {
- margin-left: -15px;
- }
-}
-.navbar-toggle {
- position: relative;
- float: right;
- padding: 9px 10px;
- margin-top: 8px;
- margin-right: 15px;
- margin-bottom: 8px;
- background-color: transparent;
- background-image: none;
- border: 1px solid transparent;
- border-radius: 4px;
-}
-.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: 768px) {
- .navbar-toggle {
- display: none;
- }
-}
-.navbar-nav {
- margin: 7.5px -15px;
-}
-.navbar-nav > li > a {
- padding-top: 10px;
- padding-bottom: 10px;
- line-height: 20px;
-}
-@media (max-width: 767px) {
- .navbar-nav .open .dropdown-menu {
- position: static;
- float: none;
- width: auto;
- margin-top: 0;
- background-color: transparent;
- border: 0;
- -webkit-box-shadow: none;
- box-shadow: none;
- }
- .navbar-nav .open .dropdown-menu > li > a,
- .navbar-nav .open .dropdown-menu .dropdown-header {
- padding: 5px 15px 5px 25px;
- }
- .navbar-nav .open .dropdown-menu > li > a {
- line-height: 20px;
- }
- .navbar-nav .open .dropdown-menu > li > a:hover,
- .navbar-nav .open .dropdown-menu > li > a:focus {
- background-image: none;
- }
-}
-@media (min-width: 768px) {
- .navbar-nav {
- float: left;
- margin: 0;
- }
- .navbar-nav > li {
- float: left;
- }
- .navbar-nav > li > a {
- padding-top: 15px;
- padding-bottom: 15px;
- }
-}
-.navbar-form {
- padding: 10px 15px;
- margin-top: 8px;
- margin-right: -15px;
- margin-bottom: 8px;
- margin-left: -15px;
- 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);
-}
-@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 .input-group-addon,
- .navbar-form .input-group .input-group-btn,
- .navbar-form .input-group .form-control {
- width: auto;
- }
- .navbar-form .input-group > .form-control {
- width: 100%;
- }
- .navbar-form .control-label {
- margin-bottom: 0;
- vertical-align: middle;
- }
- .navbar-form .radio,
- .navbar-form .checkbox {
- display: inline-block;
- margin-top: 0;
- margin-bottom: 0;
- vertical-align: middle;
- }
- .navbar-form .radio label,
- .navbar-form .checkbox label {
- padding-left: 0;
- }
- .navbar-form .radio input[type="radio"],
- .navbar-form .checkbox input[type="checkbox"] {
- position: relative;
- margin-left: 0;
- }
- .navbar-form .has-feedback .form-control-feedback {
- top: 0;
- }
-}
-@media (max-width: 767px) {
- .navbar-form .form-group {
- margin-bottom: 5px;
- }
- .navbar-form .form-group:last-child {
- margin-bottom: 0;
- }
-}
-@media (min-width: 768px) {
- .navbar-form {
- width: auto;
- padding-top: 0;
- padding-bottom: 0;
- margin-right: 0;
- margin-left: 0;
- border: 0;
- -webkit-box-shadow: none;
- box-shadow: none;
- }
-}
-.navbar-nav > li > .dropdown-menu {
- margin-top: 0;
- border-top-left-radius: 0;
- border-top-right-radius: 0;
-}
-.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
- margin-bottom: 0;
- border-top-left-radius: 4px;
- border-top-right-radius: 4px;
- border-bottom-right-radius: 0;
- border-bottom-left-radius: 0;
-}
-.navbar-btn {
- margin-top: 8px;
- margin-bottom: 8px;
-}
-.navbar-btn.btn-sm {
- margin-top: 10px;
- margin-bottom: 10px;
-}
-.navbar-btn.btn-xs {
- margin-top: 14px;
- margin-bottom: 14px;
-}
-.navbar-text {
- margin-top: 15px;
- margin-bottom: 15px;
-}
-@media (min-width: 768px) {
- .navbar-text {
- float: left;
- margin-right: 15px;
- margin-left: 15px;
- }
-}
-@media (min-width: 768px) {
- .navbar-left {
- float: left !important;
- }
- .navbar-right {
- float: right !important;
- margin-right: -15px;
- }
- .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:hover,
-.navbar-default .navbar-brand:focus {
- color: #5e5e5e;
- background-color: transparent;
-}
-.navbar-default .navbar-text {
- color: #777;
-}
-.navbar-default .navbar-nav > li > a {
- color: #777;
-}
-.navbar-default .navbar-nav > li > a:hover,
-.navbar-default .navbar-nav > li > a:focus {
- color: #333;
- background-color: transparent;
-}
-.navbar-default .navbar-nav > .active > a,
-.navbar-default .navbar-nav > .active > a:hover,
-.navbar-default .navbar-nav > .active > a:focus {
- color: #555;
- background-color: #e7e7e7;
-}
-.navbar-default .navbar-nav > .disabled > a,
-.navbar-default .navbar-nav > .disabled > a:hover,
-.navbar-default .navbar-nav > .disabled > a:focus {
- color: #ccc;
- background-color: transparent;
-}
-.navbar-default .navbar-toggle {
- border-color: #ddd;
-}
-.navbar-default .navbar-toggle:hover,
-.navbar-default .navbar-toggle:focus {
- 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:hover,
-.navbar-default .navbar-nav > .open > a:focus {
- color: #555;
- background-color: #e7e7e7;
-}
-@media (max-width: 767px) {
- .navbar-default .navbar-nav .open .dropdown-menu > li > a {
- color: #777;
- }
- .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
- .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
- color: #333;
- background-color: transparent;
- }
- .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
- .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
- .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
- color: #555;
- background-color: #e7e7e7;
- }
- .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
- .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
- .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
- 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:hover,
-.navbar-default .btn-link:focus {
- color: #333;
-}
-.navbar-default .btn-link[disabled]:hover,
-fieldset[disabled] .navbar-default .btn-link:hover,
-.navbar-default .btn-link[disabled]:focus,
-fieldset[disabled] .navbar-default .btn-link:focus {
- color: #ccc;
-}
-.navbar-inverse {
- background-color: #222;
- border-color: #080808;
-}
-.navbar-inverse .navbar-brand {
- color: #9d9d9d;
-}
-.navbar-inverse .navbar-brand:hover,
-.navbar-inverse .navbar-brand:focus {
- color: #fff;
- background-color: transparent;
-}
-.navbar-inverse .navbar-text {
- color: #9d9d9d;
-}
-.navbar-inverse .navbar-nav > li > a {
- color: #9d9d9d;
-}
-.navbar-inverse .navbar-nav > li > a:hover,
-.navbar-inverse .navbar-nav > li > a:focus {
- color: #fff;
- background-color: transparent;
-}
-.navbar-inverse .navbar-nav > .active > a,
-.navbar-inverse .navbar-nav > .active > a:hover,
-.navbar-inverse .navbar-nav > .active > a:focus {
- color: #fff;
- background-color: #080808;
-}
-.navbar-inverse .navbar-nav > .disabled > a,
-.navbar-inverse .navbar-nav > .disabled > a:hover,
-.navbar-inverse .navbar-nav > .disabled > a:focus {
- color: #444;
- background-color: transparent;
-}
-.navbar-inverse .navbar-toggle {
- border-color: #333;
-}
-.navbar-inverse .navbar-toggle:hover,
-.navbar-inverse .navbar-toggle:focus {
- 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:hover,
-.navbar-inverse .navbar-nav > .open > a:focus {
- color: #fff;
- background-color: #080808;
-}
-@media (max-width: 767px) {
- .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:hover,
- .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
- color: #fff;
- background-color: transparent;
- }
- .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
- .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
- .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
- color: #fff;
- background-color: #080808;
- }
- .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
- .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
- .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
- 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:hover,
-.navbar-inverse .btn-link:focus {
- color: #fff;
-}
-.navbar-inverse .btn-link[disabled]:hover,
-fieldset[disabled] .navbar-inverse .btn-link:hover,
-.navbar-inverse .btn-link[disabled]:focus,
-fieldset[disabled] .navbar-inverse .btn-link:focus {
- color: #444;
-}
-.breadcrumb {
- padding: 8px 15px;
- margin-bottom: 20px;
- list-style: none;
- background-color: #f5f5f5;
- border-radius: 4px;
-}
-.breadcrumb > li {
- display: inline-block;
-}
-.breadcrumb > li + li:before {
- padding: 0 5px;
- color: #ccc;
- content: "/\00a0";
-}
-.breadcrumb > .active {
- color: #777;
-}
-.pagination {
- display: inline-block;
- padding-left: 0;
- margin: 20px 0;
- border-radius: 4px;
-}
-.pagination > li {
- display: inline;
-}
-.pagination > li > a,
-.pagination > li > span {
- position: relative;
- float: left;
- padding: 6px 12px;
- margin-left: -1px;
- line-height: 1.42857143;
- color: #337ab7;
- text-decoration: none;
- background-color: #fff;
- border: 1px solid #ddd;
-}
-.pagination > li:first-child > a,
-.pagination > li:first-child > span {
- margin-left: 0;
- border-top-left-radius: 4px;
- border-bottom-left-radius: 4px;
-}
-.pagination > li:last-child > a,
-.pagination > li:last-child > span {
- border-top-right-radius: 4px;
- border-bottom-right-radius: 4px;
-}
-.pagination > li > a:hover,
-.pagination > li > span:hover,
-.pagination > li > a:focus,
-.pagination > li > span:focus {
- z-index: 2;
- color: #23527c;
- background-color: #eee;
- border-color: #ddd;
-}
-.pagination > .active > a,
-.pagination > .active > span,
-.pagination > .active > a:hover,
-.pagination > .active > span:hover,
-.pagination > .active > a:focus,
-.pagination > .active > span:focus {
- z-index: 3;
- color: #fff;
- cursor: default;
- background-color: #337ab7;
- border-color: #337ab7;
-}
-.pagination > .disabled > span,
-.pagination > .disabled > span:hover,
-.pagination > .disabled > span:focus,
-.pagination > .disabled > a,
-.pagination > .disabled > a:hover,
-.pagination > .disabled > a:focus {
- color: #777;
- cursor: not-allowed;
- background-color: #fff;
- border-color: #ddd;
-}
-.pagination-lg > li > a,
-.pagination-lg > li > span {
- padding: 10px 16px;
- font-size: 18px;
- line-height: 1.3333333;
-}
-.pagination-lg > li:first-child > a,
-.pagination-lg > li:first-child > span {
- border-top-left-radius: 6px;
- border-bottom-left-radius: 6px;
-}
-.pagination-lg > li:last-child > a,
-.pagination-lg > li:last-child > span {
- border-top-right-radius: 6px;
- border-bottom-right-radius: 6px;
-}
-.pagination-sm > li > a,
-.pagination-sm > li > span {
- padding: 5px 10px;
- font-size: 12px;
- line-height: 1.5;
-}
-.pagination-sm > li:first-child > a,
-.pagination-sm > li:first-child > span {
- border-top-left-radius: 3px;
- border-bottom-left-radius: 3px;
-}
-.pagination-sm > li:last-child > a,
-.pagination-sm > li:last-child > span {
- border-top-right-radius: 3px;
- border-bottom-right-radius: 3px;
-}
-.pager {
- padding-left: 0;
- margin: 20px 0;
- text-align: center;
- list-style: none;
-}
-.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:hover,
-.pager li > a:focus {
- 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:hover,
-.pager .disabled > a:focus,
-.pager .disabled > span {
- color: #777;
- cursor: not-allowed;
- background-color: #fff;
-}
-.label {
- display: inline;
- padding: .2em .6em .3em;
- font-size: 75%;
- font-weight: bold;
- line-height: 1;
- color: #fff;
- text-align: center;
- white-space: nowrap;
- vertical-align: baseline;
- border-radius: .25em;
-}
-a.label:hover,
-a.label:focus {
- 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]:hover,
-.label-default[href]:focus {
- background-color: #5e5e5e;
-}
-.label-primary {
- background-color: #337ab7;
-}
-.label-primary[href]:hover,
-.label-primary[href]:focus {
- background-color: #286090;
-}
-.label-success {
- background-color: #5cb85c;
-}
-.label-success[href]:hover,
-.label-success[href]:focus {
- background-color: #449d44;
-}
-.label-info {
- background-color: #5bc0de;
-}
-.label-info[href]:hover,
-.label-info[href]:focus {
- background-color: #31b0d5;
-}
-.label-warning {
- background-color: #f0ad4e;
-}
-.label-warning[href]:hover,
-.label-warning[href]:focus {
- background-color: #ec971f;
-}
-.label-danger {
- background-color: #d9534f;
-}
-.label-danger[href]:hover,
-.label-danger[href]:focus {
- background-color: #c9302c;
-}
-.badge {
- display: inline-block;
- min-width: 10px;
- padding: 3px 7px;
- font-size: 12px;
- font-weight: bold;
- line-height: 1;
- color: #fff;
- text-align: center;
- white-space: nowrap;
- vertical-align: middle;
- background-color: #777;
- border-radius: 10px;
-}
-.badge:empty {
- display: none;
-}
-.btn .badge {
- position: relative;
- top: -1px;
-}
-.btn-xs .badge,
-.btn-group-xs > .btn .badge {
- top: 0;
- padding: 1px 5px;
-}
-a.badge:hover,
-a.badge:focus {
- 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-top: 30px;
- padding-bottom: 30px;
- margin-bottom: 30px;
- color: inherit;
- background-color: #eee;
-}
-.jumbotron h1,
-.jumbotron .h1 {
- color: inherit;
-}
-.jumbotron p {
- margin-bottom: 15px;
- font-size: 21px;
- font-weight: 200;
-}
-.jumbotron > hr {
- border-top-color: #d5d5d5;
-}
-.container .jumbotron,
-.container-fluid .jumbotron {
- padding-right: 15px;
- padding-left: 15px;
- border-radius: 6px;
-}
-.jumbotron .container {
- max-width: 100%;
-}
-@media screen and (min-width: 768px) {
- .jumbotron {
- padding-top: 48px;
- padding-bottom: 48px;
- }
- .container .jumbotron,
- .container-fluid .jumbotron {
- padding-right: 60px;
- padding-left: 60px;
- }
- .jumbotron h1,
- .jumbotron .h1 {
- font-size: 63px;
- }
-}
-.thumbnail {
- display: block;
- padding: 4px;
- margin-bottom: 20px;
- line-height: 1.42857143;
- background-color: #fff;
- border: 1px solid #ddd;
- border-radius: 4px;
- -webkit-transition: border .2s ease-in-out;
- -o-transition: border .2s ease-in-out;
- transition: border .2s ease-in-out;
-}
-.thumbnail > img,
-.thumbnail a > img {
- margin-right: auto;
- margin-left: auto;
-}
-a.thumbnail:hover,
-a.thumbnail:focus,
-a.thumbnail.active {
- border-color: #337ab7;
-}
-.thumbnail .caption {
- padding: 9px;
- color: #333;
-}
-.alert {
- padding: 15px;
- margin-bottom: 20px;
- border: 1px solid transparent;
- border-radius: 4px;
-}
-.alert h4 {
- margin-top: 0;
- color: inherit;
-}
-.alert .alert-link {
- font-weight: bold;
-}
-.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 {
- color: #3c763d;
- background-color: #dff0d8;
- border-color: #d6e9c6;
-}
-.alert-success hr {
- border-top-color: #c9e2b3;
-}
-.alert-success .alert-link {
- color: #2b542c;
-}
-.alert-info {
- color: #31708f;
- background-color: #d9edf7;
- border-color: #bce8f1;
-}
-.alert-info hr {
- border-top-color: #a6e1ec;
-}
-.alert-info .alert-link {
- color: #245269;
-}
-.alert-warning {
- color: #8a6d3b;
- background-color: #fcf8e3;
- border-color: #faebcc;
-}
-.alert-warning hr {
- border-top-color: #f7e1b5;
-}
-.alert-warning .alert-link {
- color: #66512c;
-}
-.alert-danger {
- color: #a94442;
- background-color: #f2dede;
- border-color: #ebccd1;
-}
-.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;
- }
-}
-@-o-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 {
- height: 20px;
- margin-bottom: 20px;
- overflow: hidden;
- background-color: #f5f5f5;
- border-radius: 4px;
- -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: 20px;
- 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-striped .progress-bar,
-.progress-bar-striped {
- 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);
- -webkit-background-size: 40px 40px;
- background-size: 40px 40px;
-}
-.progress.active .progress-bar,
-.progress-bar.active {
- -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 {
- overflow: hidden;
- zoom: 1;
-}
-.media-body {
- width: 10000px;
-}
-.media-object {
- display: block;
-}
-.media-object.img-thumbnail {
- max-width: none;
-}
-.media-right,
-.media > .pull-right {
- padding-left: 10px;
-}
-.media-left,
-.media > .pull-left {
- padding-right: 10px;
-}
-.media-left,
-.media-right,
-.media-body {
- 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 {
- padding-left: 0;
- margin-bottom: 20px;
-}
-.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-left-radius: 4px;
- border-top-right-radius: 4px;
-}
-.list-group-item:last-child {
- margin-bottom: 0;
- border-bottom-right-radius: 4px;
- border-bottom-left-radius: 4px;
-}
-a.list-group-item,
-button.list-group-item {
- color: #555;
-}
-a.list-group-item .list-group-item-heading,
-button.list-group-item .list-group-item-heading {
- color: #333;
-}
-a.list-group-item:hover,
-button.list-group-item:hover,
-a.list-group-item:focus,
-button.list-group-item:focus {
- color: #555;
- text-decoration: none;
- background-color: #f5f5f5;
-}
-button.list-group-item {
- width: 100%;
- text-align: left;
-}
-.list-group-item.disabled,
-.list-group-item.disabled:hover,
-.list-group-item.disabled:focus {
- color: #777;
- cursor: not-allowed;
- background-color: #eee;
-}
-.list-group-item.disabled .list-group-item-heading,
-.list-group-item.disabled:hover .list-group-item-heading,
-.list-group-item.disabled:focus .list-group-item-heading {
- color: inherit;
-}
-.list-group-item.disabled .list-group-item-text,
-.list-group-item.disabled:hover .list-group-item-text,
-.list-group-item.disabled:focus .list-group-item-text {
- color: #777;
-}
-.list-group-item.active,
-.list-group-item.active:hover,
-.list-group-item.active:focus {
- z-index: 2;
- color: #fff;
- background-color: #337ab7;
- border-color: #337ab7;
-}
-.list-group-item.active .list-group-item-heading,
-.list-group-item.active:hover .list-group-item-heading,
-.list-group-item.active:focus .list-group-item-heading,
-.list-group-item.active .list-group-item-heading > small,
-.list-group-item.active:hover .list-group-item-heading > small,
-.list-group-item.active:focus .list-group-item-heading > small,
-.list-group-item.active .list-group-item-heading > .small,
-.list-group-item.active:hover .list-group-item-heading > .small,
-.list-group-item.active:focus .list-group-item-heading > .small {
- color: inherit;
-}
-.list-group-item.active .list-group-item-text,
-.list-group-item.active:hover .list-group-item-text,
-.list-group-item.active:focus .list-group-item-text {
- color: #c7ddef;
-}
-.list-group-item-success {
- color: #3c763d;
- background-color: #dff0d8;
-}
-a.list-group-item-success,
-button.list-group-item-success {
- color: #3c763d;
-}
-a.list-group-item-success .list-group-item-heading,
-button.list-group-item-success .list-group-item-heading {
- color: inherit;
-}
-a.list-group-item-success:hover,
-button.list-group-item-success:hover,
-a.list-group-item-success:focus,
-button.list-group-item-success:focus {
- color: #3c763d;
- background-color: #d0e9c6;
-}
-a.list-group-item-success.active,
-button.list-group-item-success.active,
-a.list-group-item-success.active:hover,
-button.list-group-item-success.active:hover,
-a.list-group-item-success.active:focus,
-button.list-group-item-success.active:focus {
- color: #fff;
- background-color: #3c763d;
- border-color: #3c763d;
-}
-.list-group-item-info {
- color: #31708f;
- background-color: #d9edf7;
-}
-a.list-group-item-info,
-button.list-group-item-info {
- color: #31708f;
-}
-a.list-group-item-info .list-group-item-heading,
-button.list-group-item-info .list-group-item-heading {
- color: inherit;
-}
-a.list-group-item-info:hover,
-button.list-group-item-info:hover,
-a.list-group-item-info:focus,
-button.list-group-item-info:focus {
- color: #31708f;
- background-color: #c4e3f3;
-}
-a.list-group-item-info.active,
-button.list-group-item-info.active,
-a.list-group-item-info.active:hover,
-button.list-group-item-info.active:hover,
-a.list-group-item-info.active:focus,
-button.list-group-item-info.active:focus {
- color: #fff;
- background-color: #31708f;
- border-color: #31708f;
-}
-.list-group-item-warning {
- color: #8a6d3b;
- background-color: #fcf8e3;
-}
-a.list-group-item-warning,
-button.list-group-item-warning {
- color: #8a6d3b;
-}
-a.list-group-item-warning .list-group-item-heading,
-button.list-group-item-warning .list-group-item-heading {
- color: inherit;
-}
-a.list-group-item-warning:hover,
-button.list-group-item-warning:hover,
-a.list-group-item-warning:focus,
-button.list-group-item-warning:focus {
- color: #8a6d3b;
- background-color: #faf2cc;
-}
-a.list-group-item-warning.active,
-button.list-group-item-warning.active,
-a.list-group-item-warning.active:hover,
-button.list-group-item-warning.active:hover,
-a.list-group-item-warning.active:focus,
-button.list-group-item-warning.active:focus {
- color: #fff;
- background-color: #8a6d3b;
- border-color: #8a6d3b;
-}
-.list-group-item-danger {
- color: #a94442;
- background-color: #f2dede;
-}
-a.list-group-item-danger,
-button.list-group-item-danger {
- color: #a94442;
-}
-a.list-group-item-danger .list-group-item-heading,
-button.list-group-item-danger .list-group-item-heading {
- color: inherit;
-}
-a.list-group-item-danger:hover,
-button.list-group-item-danger:hover,
-a.list-group-item-danger:focus,
-button.list-group-item-danger:focus {
- color: #a94442;
- background-color: #ebcccc;
-}
-a.list-group-item-danger.active,
-button.list-group-item-danger.active,
-a.list-group-item-danger.active:hover,
-button.list-group-item-danger.active:hover,
-a.list-group-item-danger.active:focus,
-button.list-group-item-danger.active:focus {
- 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: 20px;
- background-color: #fff;
- border: 1px solid transparent;
- border-radius: 4px;
- -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-left-radius: 3px;
- border-top-right-radius: 3px;
-}
-.panel-heading > .dropdown .dropdown-toggle {
- color: inherit;
-}
-.panel-title {
- margin-top: 0;
- margin-bottom: 0;
- font-size: 16px;
- color: inherit;
-}
-.panel-title > a,
-.panel-title > small,
-.panel-title > .small,
-.panel-title > small > a,
-.panel-title > .small > a {
- color: inherit;
-}
-.panel-footer {
- padding: 10px 15px;
- background-color: #f5f5f5;
- border-top: 1px solid #ddd;
- border-bottom-right-radius: 3px;
- border-bottom-left-radius: 3px;
-}
-.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-left-radius: 3px;
- border-top-right-radius: 3px;
-}
-.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: 3px;
- border-bottom-left-radius: 3px;
-}
-.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
- border-top-left-radius: 0;
- border-top-right-radius: 0;
-}
-.panel-heading + .list-group .list-group-item:first-child {
- border-top-width: 0;
-}
-.list-group + .panel-footer {
- border-top-width: 0;
-}
-.panel > .table,
-.panel > .table-responsive > .table,
-.panel > .panel-collapse > .table {
- margin-bottom: 0;
-}
-.panel > .table caption,
-.panel > .table-responsive > .table caption,
-.panel > .panel-collapse > .table caption {
- padding-right: 15px;
- padding-left: 15px;
-}
-.panel > .table:first-child,
-.panel > .table-responsive:first-child > .table:first-child {
- border-top-left-radius: 3px;
- border-top-right-radius: 3px;
-}
-.panel > .table:first-child > thead: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-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
- border-top-left-radius: 3px;
- border-top-right-radius: 3px;
-}
-.panel > .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 td:first-child,
-.panel > .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 td:first-child,
-.panel > .table:first-child > thead:first-child > tr:first-child th: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 th:first-child,
-.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
- border-top-left-radius: 3px;
-}
-.panel > .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 td:last-child,
-.panel > .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 td:last-child,
-.panel > .table:first-child > thead:first-child > tr:first-child th: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 th:last-child,
-.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
- border-top-right-radius: 3px;
-}
-.panel > .table:last-child,
-.panel > .table-responsive:last-child > .table:last-child {
- border-bottom-right-radius: 3px;
- border-bottom-left-radius: 3px;
-}
-.panel > .table:last-child > tbody:last-child > tr:last-child,
-.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
-.panel > .table:last-child > tfoot:last-child > tr:last-child,
-.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
- border-bottom-right-radius: 3px;
- border-bottom-left-radius: 3px;
-}
-.panel > .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 td:first-child,
-.panel > .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 td:first-child,
-.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
-.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
-.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
-.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
- border-bottom-left-radius: 3px;
-}
-.panel > .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 td:last-child,
-.panel > .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 td:last-child,
-.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
-.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
-.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
-.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
- border-bottom-right-radius: 3px;
-}
-.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 th,
-.panel > .table > tbody:first-child > tr:first-child td {
- border-top: 0;
-}
-.panel > .table-bordered,
-.panel > .table-responsive > .table-bordered {
- border: 0;
-}
-.panel > .table-bordered > thead > tr > th:first-child,
-.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
-.panel > .table-bordered > tbody > tr > th:first-child,
-.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
-.panel > .table-bordered > tfoot > tr > th:first-child,
-.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
-.panel > .table-bordered > thead > tr > td:first-child,
-.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
-.panel > .table-bordered > tbody > tr > td:first-child,
-.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
-.panel > .table-bordered > tfoot > tr > td:first-child,
-.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
- border-left: 0;
-}
-.panel > .table-bordered > thead > tr > th:last-child,
-.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
-.panel > .table-bordered > tbody > tr > th:last-child,
-.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
-.panel > .table-bordered > tfoot > tr > th:last-child,
-.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
-.panel > .table-bordered > thead > tr > td:last-child,
-.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
-.panel > .table-bordered > tbody > tr > td:last-child,
-.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
-.panel > .table-bordered > tfoot > tr > td:last-child,
-.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
- border-right: 0;
-}
-.panel > .table-bordered > thead > tr:first-child > td,
-.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
-.panel > .table-bordered > tbody > tr:first-child > td,
-.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
-.panel > .table-bordered > thead > tr:first-child > th,
-.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
-.panel > .table-bordered > tbody > tr:first-child > th,
-.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
- border-bottom: 0;
-}
-.panel > .table-bordered > tbody > tr:last-child > td,
-.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
-.panel > .table-bordered > tfoot > tr:last-child > td,
-.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
-.panel > .table-bordered > tbody > tr:last-child > th,
-.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
-.panel > .table-bordered > tfoot > tr:last-child > th,
-.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
- border-bottom: 0;
-}
-.panel > .table-responsive {
- margin-bottom: 0;
- border: 0;
-}
-.panel-group {
- margin-bottom: 20px;
-}
-.panel-group .panel {
- margin-bottom: 0;
- border-radius: 4px;
-}
-.panel-group .panel + .panel {
- margin-top: 5px;
-}
-.panel-group .panel-heading {
- border-bottom: 0;
-}
-.panel-group .panel-heading + .panel-collapse > .panel-body,
-.panel-group .panel-heading + .panel-collapse > .list-group {
- 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 iframe,
-.embed-responsive embed,
-.embed-responsive object,
-.embed-responsive video {
- position: absolute;
- top: 0;
- bottom: 0;
- left: 0;
- width: 100%;
- height: 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: 4px;
- -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: 6px;
-}
-.well-sm {
- padding: 9px;
- border-radius: 3px;
-}
-.close {
- float: right;
- font-size: 21px;
- font-weight: bold;
- line-height: 1;
- color: #000;
- text-shadow: 0 1px 0 #fff;
- filter: alpha(opacity=20);
- opacity: .2;
-}
-.close:hover,
-.close:focus {
- color: #000;
- text-decoration: none;
- cursor: pointer;
- filter: alpha(opacity=50);
- opacity: .5;
-}
-button.close {
- -webkit-appearance: none;
- padding: 0;
- cursor: pointer;
- background: transparent;
- border: 0;
-}
-.modal-open {
- overflow: hidden;
-}
-.modal {
- position: fixed;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- z-index: 1050;
- display: none;
- overflow: hidden;
- -webkit-overflow-scrolling: touch;
- outline: 0;
-}
-.modal.fade .modal-dialog {
- -webkit-transition: -webkit-transform .3s ease-out;
- -o-transition: -o-transform .3s ease-out;
- transition: transform .3s ease-out;
- -webkit-transform: translate(0, -25%);
- -ms-transform: translate(0, -25%);
- -o-transform: translate(0, -25%);
- transform: translate(0, -25%);
-}
-.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;
- -webkit-background-clip: padding-box;
- background-clip: padding-box;
- border: 1px solid #999;
- border: 1px solid rgba(0, 0, 0, .2);
- border-radius: 6px;
- outline: 0;
- -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
- box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
-}
-.modal-backdrop {
- position: fixed;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- z-index: 1040;
- background-color: #000;
-}
-.modal-backdrop.fade {
- filter: alpha(opacity=0);
- opacity: 0;
-}
-.modal-backdrop.in {
- filter: alpha(opacity=50);
- opacity: .5;
-}
-.modal-header {
- padding: 15px;
- border-bottom: 1px solid #e5e5e5;
-}
-.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-bottom: 0;
- margin-left: 5px;
-}
-.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-style: normal;
- font-weight: normal;
- line-height: 1.42857143;
- text-align: left;
- text-align: start;
- text-decoration: none;
- text-shadow: none;
- text-transform: none;
- letter-spacing: normal;
- word-break: normal;
- word-spacing: normal;
- word-wrap: normal;
- white-space: normal;
- filter: alpha(opacity=0);
- opacity: 0;
-
- line-break: auto;
-}
-.tooltip.in {
- filter: alpha(opacity=90);
- opacity: .9;
-}
-.tooltip.top {
- padding: 5px 0;
- margin-top: -3px;
-}
-.tooltip.right {
- padding: 0 5px;
- margin-left: 3px;
-}
-.tooltip.bottom {
- padding: 5px 0;
- margin-top: 3px;
-}
-.tooltip.left {
- padding: 0 5px;
- margin-left: -3px;
-}
-.tooltip-inner {
- max-width: 200px;
- padding: 3px 8px;
- color: #fff;
- text-align: center;
- background-color: #000;
- border-radius: 4px;
-}
-.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 {
- right: 5px;
- bottom: 0;
- 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: 14px;
- font-style: normal;
- font-weight: normal;
- line-height: 1.42857143;
- text-align: left;
- text-align: start;
- text-decoration: none;
- text-shadow: none;
- text-transform: none;
- letter-spacing: normal;
- word-break: normal;
- word-spacing: normal;
- word-wrap: normal;
- white-space: normal;
- background-color: #fff;
- -webkit-background-clip: padding-box;
- background-clip: padding-box;
- border: 1px solid #ccc;
- border: 1px solid rgba(0, 0, 0, .2);
- border-radius: 6px;
- -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
- box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
-
- line-break: auto;
-}
-.popover.top {
- margin-top: -10px;
-}
-.popover.right {
- margin-left: 10px;
-}
-.popover.bottom {
- margin-top: 10px;
-}
-.popover.left {
- margin-left: -10px;
-}
-.popover-title {
- padding: 8px 14px;
- margin: 0;
- font-size: 14px;
- background-color: #f7f7f7;
- border-bottom: 1px solid #ebebeb;
- border-radius: 5px 5px 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 {
- content: "";
- border-width: 10px;
-}
-.popover.top > .arrow {
- bottom: -11px;
- left: 50%;
- margin-left: -11px;
- border-top-color: #999;
- border-top-color: rgba(0, 0, 0, .25);
- border-bottom-width: 0;
-}
-.popover.top > .arrow:after {
- bottom: 1px;
- margin-left: -10px;
- content: " ";
- border-top-color: #fff;
- border-bottom-width: 0;
-}
-.popover.right > .arrow {
- top: 50%;
- left: -11px;
- margin-top: -11px;
- border-right-color: #999;
- border-right-color: rgba(0, 0, 0, .25);
- border-left-width: 0;
-}
-.popover.right > .arrow:after {
- bottom: -10px;
- left: 1px;
- content: " ";
- border-right-color: #fff;
- border-left-width: 0;
-}
-.popover.bottom > .arrow {
- top: -11px;
- left: 50%;
- margin-left: -11px;
- border-top-width: 0;
- border-bottom-color: #999;
- border-bottom-color: rgba(0, 0, 0, .25);
-}
-.popover.bottom > .arrow:after {
- top: 1px;
- margin-left: -10px;
- content: " ";
- 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 {
- right: 1px;
- bottom: -10px;
- content: " ";
- border-right-width: 0;
- border-left-color: #fff;
-}
-.carousel {
- position: relative;
-}
-.carousel-inner {
- position: relative;
- width: 100%;
- overflow: hidden;
-}
-.carousel-inner > .item {
- position: relative;
- display: none;
- -webkit-transition: .6s ease-in-out left;
- -o-transition: .6s ease-in-out left;
- transition: .6s ease-in-out left;
-}
-.carousel-inner > .item > img,
-.carousel-inner > .item > a > img {
- line-height: 1;
-}
-@media all and (transform-3d), (-webkit-transform-3d) {
- .carousel-inner > .item {
- -webkit-transition: -webkit-transform .6s ease-in-out;
- -o-transition: -o-transform .6s ease-in-out;
- transition: transform .6s ease-in-out;
-
- -webkit-backface-visibility: hidden;
- backface-visibility: hidden;
- -webkit-perspective: 1000px;
- perspective: 1000px;
- }
- .carousel-inner > .item.next,
- .carousel-inner > .item.active.right {
- left: 0;
- -webkit-transform: translate3d(100%, 0, 0);
- transform: translate3d(100%, 0, 0);
- }
- .carousel-inner > .item.prev,
- .carousel-inner > .item.active.left {
- left: 0;
- -webkit-transform: translate3d(-100%, 0, 0);
- transform: translate3d(-100%, 0, 0);
- }
- .carousel-inner > .item.next.left,
- .carousel-inner > .item.prev.right,
- .carousel-inner > .item.active {
- left: 0;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 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;
- bottom: 0;
- left: 0;
- width: 15%;
- font-size: 20px;
- color: #fff;
- text-align: center;
- text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
- background-color: rgba(0, 0, 0, 0);
- filter: alpha(opacity=50);
- opacity: .5;
-}
-.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: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001)));
- background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
- background-repeat: repeat-x;
-}
-.carousel-control.right {
- right: 0;
- left: auto;
- 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: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5)));
- background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
- background-repeat: repeat-x;
-}
-.carousel-control:hover,
-.carousel-control:focus {
- color: #fff;
- text-decoration: none;
- filter: alpha(opacity=90);
- outline: 0;
- opacity: .9;
-}
-.carousel-control .icon-prev,
-.carousel-control .icon-next,
-.carousel-control .glyphicon-chevron-left,
-.carousel-control .glyphicon-chevron-right {
- position: absolute;
- top: 50%;
- z-index: 5;
- display: inline-block;
- margin-top: -10px;
-}
-.carousel-control .icon-prev,
-.carousel-control .glyphicon-chevron-left {
- left: 50%;
- margin-left: -10px;
-}
-.carousel-control .icon-next,
-.carousel-control .glyphicon-chevron-right {
- right: 50%;
- margin-right: -10px;
-}
-.carousel-control .icon-prev,
-.carousel-control .icon-next {
- width: 20px;
- height: 20px;
- font-family: serif;
- line-height: 1;
-}
-.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%;
- padding-left: 0;
- margin-left: -30%;
- text-align: center;
- list-style: none;
-}
-.carousel-indicators li {
- display: inline-block;
- width: 10px;
- height: 10px;
- margin: 1px;
- text-indent: -999px;
- cursor: pointer;
- background-color: #000 \9;
- background-color: rgba(0, 0, 0, 0);
- border: 1px solid #fff;
- border-radius: 10px;
-}
-.carousel-indicators .active {
- width: 12px;
- height: 12px;
- margin: 0;
- background-color: #fff;
-}
-.carousel-caption {
- position: absolute;
- right: 15%;
- bottom: 20px;
- left: 15%;
- 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-prev,
- .carousel-control .icon-next {
- width: 30px;
- height: 30px;
- margin-top: -10px;
- font-size: 30px;
- }
- .carousel-control .glyphicon-chevron-left,
- .carousel-control .icon-prev {
- margin-left: -10px;
- }
- .carousel-control .glyphicon-chevron-right,
- .carousel-control .icon-next {
- margin-right: -10px;
- }
- .carousel-caption {
- right: 20%;
- left: 20%;
- padding-bottom: 30px;
- }
- .carousel-indicators {
- bottom: 20px;
- }
-}
-.clearfix:before,
-.clearfix:after,
-.dl-horizontal dd:before,
-.dl-horizontal dd:after,
-.container:before,
-.container:after,
-.container-fluid:before,
-.container-fluid:after,
-.row:before,
-.row:after,
-.form-horizontal .form-group:before,
-.form-horizontal .form-group:after,
-.btn-toolbar:before,
-.btn-toolbar:after,
-.btn-group-vertical > .btn-group:before,
-.btn-group-vertical > .btn-group:after,
-.nav:before,
-.nav:after,
-.navbar:before,
-.navbar:after,
-.navbar-header:before,
-.navbar-header:after,
-.navbar-collapse:before,
-.navbar-collapse:after,
-.pager:before,
-.pager:after,
-.panel-body:before,
-.panel-body:after,
-.modal-header:before,
-.modal-header:after,
-.modal-footer:before,
-.modal-footer:after {
- display: table;
- content: " ";
-}
-.clearfix:after,
-.dl-horizontal dd:after,
-.container:after,
-.container-fluid:after,
-.row:after,
-.form-horizontal .form-group:after,
-.btn-toolbar:after,
-.btn-group-vertical > .btn-group:after,
-.nav:after,
-.navbar:after,
-.navbar-header:after,
-.navbar-collapse:after,
-.pager:after,
-.panel-body:after,
-.modal-header:after,
-.modal-footer:after {
- clear: both;
-}
-.center-block {
- display: block;
- margin-right: auto;
- margin-left: 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-xs,
-.visible-sm,
-.visible-md,
-.visible-lg {
- display: none !important;
-}
-.visible-xs-block,
-.visible-xs-inline,
-.visible-xs-inline-block,
-.visible-sm-block,
-.visible-sm-inline,
-.visible-sm-inline-block,
-.visible-md-block,
-.visible-md-inline,
-.visible-md-inline-block,
-.visible-lg-block,
-.visible-lg-inline,
-.visible-lg-inline-block {
- display: none !important;
-}
-@media (max-width: 767px) {
- .visible-xs {
- display: block !important;
- }
- table.visible-xs {
- display: table !important;
- }
- tr.visible-xs {
- display: table-row !important;
- }
- th.visible-xs,
- td.visible-xs {
- display: table-cell !important;
- }
-}
-@media (max-width: 767px) {
- .visible-xs-block {
- display: block !important;
- }
-}
-@media (max-width: 767px) {
- .visible-xs-inline {
- display: inline !important;
- }
-}
-@media (max-width: 767px) {
- .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 !important;
- }
- tr.visible-sm {
- display: table-row !important;
- }
- th.visible-sm,
- td.visible-sm {
- display: table-cell !important;
- }
-}
-@media (min-width: 768px) and (max-width: 991px) {
- .visible-sm-block {
- display: block !important;
- }
-}
-@media (min-width: 768px) and (max-width: 991px) {
- .visible-sm-inline {
- display: inline !important;
- }
-}
-@media (min-width: 768px) and (max-width: 991px) {
- .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 !important;
- }
- tr.visible-md {
- display: table-row !important;
- }
- th.visible-md,
- td.visible-md {
- display: table-cell !important;
- }
-}
-@media (min-width: 992px) and (max-width: 1199px) {
- .visible-md-block {
- display: block !important;
- }
-}
-@media (min-width: 992px) and (max-width: 1199px) {
- .visible-md-inline {
- display: inline !important;
- }
-}
-@media (min-width: 992px) and (max-width: 1199px) {
- .visible-md-inline-block {
- display: inline-block !important;
- }
-}
-@media (min-width: 1200px) {
- .visible-lg {
- display: block !important;
- }
- table.visible-lg {
- display: table !important;
- }
- tr.visible-lg {
- display: table-row !important;
- }
- th.visible-lg,
- td.visible-lg {
- display: table-cell !important;
- }
-}
-@media (min-width: 1200px) {
- .visible-lg-block {
- display: block !important;
- }
-}
-@media (min-width: 1200px) {
- .visible-lg-inline {
- display: inline !important;
- }
-}
-@media (min-width: 1200px) {
- .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 !important;
- }
- tr.visible-print {
- display: table-row !important;
- }
- th.visible-print,
- td.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;
- }
-}
-@media print {
- .hidden-print {
- display: none !important;
- }
-}
-/*# sourceMappingURL=bootstrap.css.map */
diff --git a/static/css/bootstrap.min.css b/static/css/bootstrap.min.css
deleted file mode 100644
index 4cf729e..0000000
--- a/static/css/bootstrap.min.css
+++ /dev/null
@@ -1,6 +0,0 @@
-/*!
- * Bootstrap v3.3.6 (http://getbootstrap.com)
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}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,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}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{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;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-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-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}.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(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../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:"\002a"}.glyphicon-plus:before{content:"\002b"}.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{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub: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"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;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:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.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:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;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:20px;margin-bottom:10px}.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:10px;margin-bottom:10px}.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:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.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:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;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:10px 20px;margin:0 0 20px;font-size:17.5px;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;text-align:right;border-right:5px solid #eee;border-left:0}.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:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}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{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.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-right:15px;padding-left:15px}.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:20px}.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{border:1px solid #ddd}.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;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.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{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;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{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}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:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-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,-webkit-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::-ms-expand{background-color:transparent;border:0}.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}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.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:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;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-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}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}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}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:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.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;background-color:#dff0d8;border-color:#3c763d}.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;background-color:#fcf8e3;border-color:#8a6d3b}.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;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@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 .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-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;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,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.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,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.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,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.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,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.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,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.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,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{font-weight:400;color:#337ab7;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:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.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-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;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;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 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{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.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;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.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,.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-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-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-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left: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;border-bottom-width: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-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.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-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;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-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}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:3px}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:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.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-top-right-radius:0;border-bottom-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-top-left-radius:0;border-bottom-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{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom: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;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 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:4px 4px 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;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.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>a{border-bottom:1px solid #ddd;border-radius:4px 4px 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:4px}.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{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.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-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 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-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;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-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) 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:-15px;margin-left:-15px}@media (min-width:768px){.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}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-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;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.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:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;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:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;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)}@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:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.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-text{color:#777}.navbar-default .navbar-nav>li>a{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{color:#555;background-color:#e7e7e7}@media (max-width:767px){.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-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{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{color:#fff;background-color:#080808}@media (max-width:767px){.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:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;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:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.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;cursor:not-allowed;background-color:#fff}.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;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;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-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-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-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.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{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.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}}@-o-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{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-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:20px;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);-webkit-background-size:40px 40px;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{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.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{padding-left:0;margin-bottom:20px}.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-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.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,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.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,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.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,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.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,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.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,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.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,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.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,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.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,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.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:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-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-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;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:3px;border-bottom-left-radius:3px}.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-left-radius:3px;border-top-right-radius:3px}.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:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{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-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.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:3px;border-top-right-radius:3px}.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:3px}.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:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.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-right-radius:3px;border-bottom-left-radius:3px}.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:3px}.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:3px}.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>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>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.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-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{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.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;bottom:0;left:0;width:100%;height: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:4px;-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:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.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;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.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-bottom:0;margin-left:5px}.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-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.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{right:5px;bottom:0;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:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 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{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";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{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-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;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,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;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.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:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;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:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.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;margin-top:-10px}.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;font-family:serif;line-height:1}.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%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;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:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left: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,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header: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{display:table;content:" "}.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,.modal-footer:after,.modal-header: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-right:auto;margin-left: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-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.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!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.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!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.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!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.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!important}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}}@media print{.hidden-print{display:none!important}}
-/*# sourceMappingURL=bootstrap.min.css.map */
\ No newline at end of file
diff --git a/static/css/index.css b/static/css/index.css
deleted file mode 100644
index d907c99..0000000
--- a/static/css/index.css
+++ /dev/null
@@ -1,470 +0,0 @@
-/**
- * Reset some basic elements
- */
-/* commom */
-body {
- background-image: url(http://7q5cdt.com1.z0.glb.clouddn.com/bg-canvas_bg.jpg);
- font-family: 'Microsoft YaHei', sans-serif;
-}
-article p{
- /*text-indent: 2em;*/
-}
-pre{
- padding: 0;
- background: none;
-}
-
-pre code{
- font-size: 14px;
-}
-
-table{
- border-top:2px solid #777;
- border-bottom: 2px solid #777;
- margin: 8px 0;
-}
-table thead{
- border-bottom: 1px dashed #777;
- background-color: #aaa;
- color:#fff;
-}
-table th{
- padding: 2px 10px;
-}
-table tr:nth-child(2n){
- background-color: #E5EAED;
-}
-table td{
- padding: 2px 10px;
- vertical-align: top;
-}
-
-
-#index a:link {color: #005} /* 未访问的链接 */
-#index a:visited {color: #669} /* 已访问的链接 */
-#index a:hover {color: #336;text-decoration: none;} /* 鼠标移动到链接上 */
-#index a:active {color: #99b} /* 选定的链接 */
-
-/* navbar */
-nav{
- -webkit-box-shadow: 0 2px 4px rgba(0,0,0,0.5);
- -moz-box-shadow: 0 2px 4px rgba(0,0,0,0.5);
- -o-box-shadow: 0 2px 4px rgba(0,0,0,0.5);
- box-shadow: 0 2px 4px rgba(0,0,0,0.5);
-
- border-radius: 0;
-}
-.navbar-nav li{
- min-width: 95px;
- text-align: center;
-}
-
-/* index main */
-.main{
- min-height: 800px;
-}
-.post-area{
-
- background-color:#f8f8fd;
- -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.4),0 0 30px rgba(10,10,0,0.1) inset;
- -moz-box-shadow: 0 1px 2px rgba(0,0,0,0.4),0 0 30px rgba(10,10,0,0.1) inset;
- -o-box-shadow: 0 1px 2px rgba(0,0,0,0.4),0 0 30px rgba(10,10,0,0.1) inset;
- box-shadow: 0 1px 2px rgba(0,0,0,0.4),0 0 30px rgba(10,10,0,0.1) inset;
-}
-.post-list-header{
- padding: 15px 30px;
- border-bottom: 1px solid #c0c0c0;
- font-size: 30px;
- font-weight: bold;
-}
-.post-list-item{
- display: block;
- padding:8px 30px 10px 30px;
- border-bottom:1px solid #ddd;
-
- transition:0.4s ease;
- -webkit-transition:0.4s ease;
- -moz-transition:0.4s ease;
- -o-transition:0.4s ease;
-}
-.post-list-item:last-of-type{
- border-bottom: none;
-}
-.post-list-item h2{
- font-size: 20px;
- margin: 8px 0 8px 0;
- padding: 0;
-}
-
-.post-list-item:hover{
- background-color: rgba(0,0,6,0.05);
-
-}
-
-
-/* categories list */
-.categories-list-header {
- display: block;
- padding: 12px 15px;
- border-bottom: 1px solid #c0c0c0;
- font-size: 16px;
- font-weight: bold;
-}
-.categories-list-item{
- display: block;
- padding:8px 15px;
- border-bottom:1px solid #ddd;
-
- transition:0.4s ease;
- -webkit-transition:0.4s ease;
- -moz-transition:0.4s ease;
- -o-transition:0.4s ease;
-}
-.categories-list-item:last-of-type{
- border-bottom:none;
-}
-.categories-list-item:hover{
- background-color: rgba(0,0,10,0.075);
- color: #983;
-}
-.categories-list-item .my-badge{
- font-size: 12px;
- font-weight: bold;
- color: #fff;
- background-color: #999;
- padding: 0 7px 1px 7px;
- border-radius: 9px;
- float: right;
- transition:0.4s ease;
- -webkit-transition:0.4s ease;
- -moz-transition:0.4s ease;
- -o-transition:0.4s ease;
-}
-.categories-list-item:hover .my-badge{
- -webkit-transform:rotate(360deg) scale(1.2);
- -moz-transform:rotate(360deg) scale(1.2);
- -o-transform:rotate(360deg) scale(1.2);
- -ms-transform:rotate(360deg) scale(1.2);
- transform:rotate(360deg) scale(1.2);
-}
-
-/* shadow */
-.shadow-corner-curl{
-
- position: relative;
- background-color:#f8f8fd;
- -webkit-box-shadow: 0 1px 5px rgba(0,0,0,0.4),0 0 20px rgba(0,0,0,0.1) inset;
- -moz-box-shadow: 0 1px 5px rgba(0,0,0,0.4),0 0 20px rgba(0,0,0,0.1) inset;
- -o-box-shadow: 0 1px 5px rgba(0,0,0,0.4),0 0 20px rgba(0,0,0,0.1) inset;
- box-shadow: 0 1px 5px rgba(0,0,0,0.4),0 0 20px rgba(0,0,0,0.1) inset;
-}
-.shadow-corner-curl:before{
- content:"";
- position: absolute;
- z-index: -5;
- width: 70%;
- height:70%;
- left: 9%;
- bottom: 2%;
- background: transparent;
- -webkit-box-shadow: 0 8px 20px rgba(0,0,0,0.6);
- -moz-box-shadow: 0 8px 20px rgba(0,0,0,0.6);
- -o-box-shadow: 0 8px 20px rgba(0,0,0,0.6);
- box-shadow: 0 8px 20px rgba(0,0,0,0.6);
-
- /* 向左倾斜12度,再旋转4度 */
- -webkit-transform:skew(-11deg) rotate(-4deg);
- -moz-transform:skew(-11deg) rotate(-4deg);
- -o-transform:skew(-11deg) rotate(-4deg);
- -ms-transform:skew(-11deg) rotate(-4deg);
- transform:skew(-11deg) rotate(-4deg);
-}
-.shadow-corner-curl:after{
- content:"";
- position: absolute;
- z-index: -5;
- width: 70%;
- height:70%;
- right: 9%;
- bottom: 2%;
- background: transparent;
- -webkit-box-shadow: 0 8px 20px rgba(0,0,0,0.6);
- -moz-box-shadow: 0 8px 20px rgba(0,0,0,0.6);
- -o-box-shadow: 0 8px 20px rgba(0,0,0,0.6);
- box-shadow: 0 8px 20px rgba(0,0,0,0.6);
-
- /* 向左倾斜12度,再旋转4度 */
- -webkit-transform:skew(11deg) rotate(4deg);
- -moz-transform:skew(11deg) rotate(4deg);
- -o-transform:skew(11deg) rotate(4deg);
- -ms-transform:skew(11deg) rotate(4deg);
- transform:skew(11deg) rotate(4deg);
-}
-
-/* footer */
-footer{
- min-height: 50px;
- line-height: 50px;
- margin-top: 80px;
- background: #3f4850;
- color: #aaa;
- text-align: center;
-
- -webkit-box-shadow: 0 -2px 4px rgba(0,0,0,0.5);
- -moz-box-shadow: 0 -2px 4px rgba(0,0,0,0.5);
- -o-box-shadow: 0 -2px 4px rgba(0,0,0,0.5);
- box-shadow: 0 -2px 4px rgba(0,0,0,0.5);
-}
-footer a:link {color: #aaa} /* 未访问的链接 */
-footer a:visited {color: #888} /* 已访问的链接 */
-footer a:hover {color: #bbb;text-decoration: none;} /* 鼠标移动到链接上 */
-footer a:active {color: #bbb} /* 选定的链接 */
-footer .point{
- margin: 0 8px;
-}
-/**
- * Icons
- */
-.icon svg {
- display: inline-block;
- width: 16px;
- height: 16px;
- vertical-align: middle;
-}
-
-/* post
- * post articles area
- */
-.post{
- padding:10px 30px;
- font-size: 16px;
- line-height: 1.5;
- /* -webkit-text-size-adjust: 100%; */
-}
-
-.post h4{
- font-weight: bold;
-}
-
-.post img{
- max-width: 100%;
- vertical-align: middle;
-
- -webkit-box-shadow: 0 0 5px 2px rgba(0,0,0,0.1);
- -moz-box-shadow: 0 0 5px 2px rgba(0,0,0,0.1);
- -o-box-shadow: 0 0 5px 2px rgba(0,0,0,0.1);
- box-shadow: 0 0 5px 2px rgba(0,0,0,0.1);
-}
-/**
- * Blockquotes
- */
-blockquote {
- color: #444;
- border-left: 5px solid #0080ff;
- padding-left: 15px;
- font-size: 16px;
- background: rgba(112,138,153,.1);
- /*font-style: italic;*/
-}
-blockquote:last-child {
- margin-bottom: 0;
-}
-
-.comment{
- margin-top: 20px;
-}
-
-/**
- * back to top
- */
-#top {
- position: fixed;
- right: 25px;
- bottom: 10px;
- width: 60px;
- height: 60px;
- background-color: #bbb;
- border-radius:7px;
- opacity: 0.8;
- display: none;
- z-index: 888;
-}
-#top .arrow{
- margin:0 auto;
- padding-top:11px;
- width:0;
- height: 0;
- border-right: 15px solid transparent;
- border-left: 15px solid transparent;
- border-bottom: 15px solid #7f7f7f;
-
-}
-#top .stick{
- margin:0 auto;
- padding-bottom:21px;
- width: 13px;
- border-bottom: 13px solid #bbb;
- background-color: #7f7f7f;
-}
-
-/**
- * page-content
- */
-.page-content table{
- border-top: 1px dashed #ddd;
- border-bottom: 1px dashed #ddd;
- margin: 20px 0;
-}
-.page-content table tr td{
- padding: 6px 10px;
- vertical-align: top;
-
-}
-.page-content table tr td:first-of-type{
- padding: 6px 10px 6px 10px;
- border-right: 1px dashed #ddd;
- text-align: right;
-}
-
-/**
- * demo
- * 瀑布流
- * 使用多栏布局
- */
-#fall{
- font-size: 0;
- text-align: center;
- /*margin: 0 auto;*/
- /*background-color: #ddd;*/
-
-}
-#fall ul{
- margin: 0 10px;
- padding: 0;
- width: 240px;
- /*background-color: red;*/
- display: inline-block;
- vertical-align: top;
- /*float: left;*/
-
-
-}
-
-@media screen and (max-width: 1200px) {
- #fall ul{
- width: 210px;
- }
-}
-@media screen and (max-width: 991px){
- #fall ul{
- width: auto;
- }
-}
-#fall li{
- margin: 0 0 20px 0;
- padding: 0;
- list-style-type: none;
- font-size: 14px;
-
- -webkit-box-shadow: 0 0 5px rgba(0,0,0,0.6),0 0 20px rgba(0,0,0,0.1) inset;
- -moz-box-shadow: 0 0 5px rgba(0,0,0,0.6),0 0 20px rgba(0,0,0,0.1) inset;
- -o-box-shadow: 0 0 5px rgba(0,0,0,0.6),0 0 20px rgba(0,0,0,0.1) inset;
- box-shadow: 0 0 5px rgba(0,0,0,0.6),0 0 20px rgba(0,0,0,0.1) inset;
-
- transition:0.1s ease-out;
- -webkit-transition:0.1s ease-out;
- -moz-transition:0.1s ease-out;
- -o-transition:0.1s ease-out;
-}
-#fall li:hover{
- -webkit-box-shadow: 0 0 12px rgba(0,0,0,0.8),0 0 20px rgba(0,0,0,0.1) inset;
- -moz-box-shadow: 0 0 12px rgba(0,0,0,0.8),0 0 20px rgba(0,0,0,0.1) inset;
- -o-box-shadow: 0 0 12px rgba(0,0,0,0.8),0 0 20px rgba(0,0,0,0.1) inset;
- box-shadow: 0 0 12px rgba(0,0,0,0.8),0 0 20px rgba(0,0,0,0.1) inset;
-
- -webkit-transform: scale(1.05);
- -moz-transform: scale(1.05);
- -o-transform: scale(1.05);
- -ms-transform: scale(1.05);
- transform: scale(1.05);
-}
-#fall li p{
- margin: 0;
-}
-#fall .head{
- font-size: 16px;
- text-align: left;
- margin: 0 10px;
- padding: 10px 0 5px 0;
- border-bottom: 1px dotted #ddd;
- font-weight: bold;
-}
-#fall .description{
- text-align: left;
- padding: 5px 10px 10px 10px;
- text-indent: 2em;
-}
-#fall a:link {color: #7676AC} /* 未访问的链接 */
-#fall a:visited {color: #715584} /* 已访问的链接 */
-#fall a:hover {color: #5989AD;text-decoration: none;} /* 鼠标移动到链接上 */
-#fall a:active {color: #91C3CF} /* 选定的链接 */
-
-/**
- * 文章目录相关
- */
-@media screen and (min-width: 768px){
- #markdown-toc {
- display: none;
- }
-}
-
-#content a:link {color: #666} /* 未访问的链接 */
-#content a:visited {color: #666} /* 已访问的链接 */
-#content a:hover {color: #336;text-decoration: none;} /* 鼠标移动到链接上 */
-#content a:active {color: #99b} /* 选定的链接 */
-
-#content{
- max-width: 292px;
-}
-#content .content-text{
- padding: 10px 0;
-}
-#content ul{
- padding-left: 30px;
-}
-#content ul li{
- /*list-style: none;*/
- font-size: 15px;
- line-height: 25px;
-}
-.shadow-bottom-center{
- background-color:#f8f8fd;
- -webkit-box-shadow: 0 1px 5px rgba(0,0,0,0.4),0 0 20px rgba(0,0,0,0.1) inset;
- -moz-box-shadow: 0 1px 5px rgba(0,0,0,0.4),0 0 20px rgba(0,0,0,0.1) inset;
- -o-box-shadow: 0 1px 5px rgba(0,0,0,0.4),0 0 20px rgba(0,0,0,0.1) inset;
- box-shadow: 0 1px 5px rgba(0,0,0,0.4),0 0 20px rgba(0,0,0,0.1) inset;
-}
-
-#myAffix .affix{
- top:-20px;
- bottom: 0px;
-}
-
-@media screen and (max-width: 1200px){
- .post{
- padding:10px 10px;
- font-size: 14px;
- line-height: 1.3;
- }
- blockquote {
- border-left: 3px solid #0080ff;
- padding-left: 5px;
- font-size: 14px;
- }
- pre code{
- font-size: 12px;
- }
- .post article ul{
- padding-left: 25px;
- }
-}
diff --git a/static/css/monokai_sublime.min.css b/static/css/monokai_sublime.min.css
deleted file mode 100644
index 9c49abb..0000000
--- a/static/css/monokai_sublime.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.hljs{display:block;overflow-x:auto;padding:0.5em;background:#23241f;-webkit-text-size-adjust:none}.hljs,.hljs-tag,.css .hljs-rules,.css .hljs-value,.aspectj .hljs-function,.css .hljs-function .hljs-preprocessor,.hljs-pragma{color:#f8f8f2}.hljs-strongemphasis,.hljs-strong,.hljs-emphasis{color:#a8a8a2}.hljs-bullet,.hljs-blockquote,.hljs-horizontal_rule,.hljs-number,.hljs-regexp,.alias .hljs-keyword,.hljs-literal,.hljs-hexcolor{color:#ae81ff}.hljs-tag .hljs-value,.hljs-code,.hljs-title,.css .hljs-class,.hljs-class .hljs-title:last-child{color:#a6e22e}.hljs-link_url{font-size:80%}.hljs-strong,.hljs-strongemphasis{font-weight:bold}.hljs-emphasis,.hljs-strongemphasis,.hljs-class .hljs-title:last-child,.hljs-typename{font-style:italic}.hljs-keyword,.ruby .hljs-class .hljs-keyword:first-child,.ruby .hljs-function .hljs-keyword,.hljs-function,.hljs-change,.hljs-winutils,.hljs-flow,.nginx .hljs-title,.tex .hljs-special,.hljs-header,.hljs-attribute,.hljs-symbol,.hljs-symbol .hljs-string,.hljs-tag .hljs-title,.hljs-value,.alias .hljs-keyword:first-child,.css .hljs-tag,.css .unit,.css .hljs-important{color:#f92672}.hljs-function .hljs-keyword,.hljs-class .hljs-keyword:first-child,.hljs-aspect .hljs-keyword:first-child,.hljs-constant,.hljs-typename,.css .hljs-attribute{color:#66d9ef}.hljs-variable,.hljs-params,.hljs-class .hljs-title,.hljs-aspect .hljs-title{color:#f8f8f2}.hljs-string,.css .hljs-id,.hljs-subst,.hljs-type,.ruby .hljs-class .hljs-parent,.hljs-built_in,.django .hljs-template_tag,.django .hljs-variable,.smalltalk .hljs-class,.django .hljs-filter .hljs-argument,.smalltalk .hljs-localvars,.smalltalk .hljs-array,.hljs-attr_selector,.hljs-pseudo,.hljs-addition,.hljs-stream,.hljs-envvar,.apache .hljs-tag,.apache .hljs-cbracket,.tex .hljs-command,.hljs-prompt,.hljs-link_label,.hljs-link_url{color:#e6db74}.hljs-comment,.hljs-javadoc,.hljs-annotation,.hljs-decorator,.hljs-pi,.hljs-doctype,.hljs-deletion,.hljs-shebang,.apache .hljs-sqbracket,.tex .hljs-formula{color:#75715e}.coffeescript .javascript,.javascript .xml,.tex .hljs-formula,.xml .javascript,.xml .vbscript,.xml .css,.xml .hljs-cdata,.xml .php,.php .xml{opacity:0.5}
\ No newline at end of file
diff --git a/static/fonts/glyphicons-halflings-regular.eot b/static/fonts/glyphicons-halflings-regular.eot
deleted file mode 100644
index b93a495..0000000
Binary files a/static/fonts/glyphicons-halflings-regular.eot and /dev/null differ
diff --git a/static/fonts/glyphicons-halflings-regular.svg b/static/fonts/glyphicons-halflings-regular.svg
deleted file mode 100644
index 94fb549..0000000
--- a/static/fonts/glyphicons-halflings-regular.svg
+++ /dev/null
@@ -1,288 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/static/fonts/glyphicons-halflings-regular.ttf b/static/fonts/glyphicons-halflings-regular.ttf
deleted file mode 100644
index 1413fc6..0000000
Binary files a/static/fonts/glyphicons-halflings-regular.ttf and /dev/null differ
diff --git a/static/fonts/glyphicons-halflings-regular.woff b/static/fonts/glyphicons-halflings-regular.woff
deleted file mode 100644
index 9e61285..0000000
Binary files a/static/fonts/glyphicons-halflings-regular.woff and /dev/null differ
diff --git a/static/fonts/glyphicons-halflings-regular.woff2 b/static/fonts/glyphicons-halflings-regular.woff2
deleted file mode 100644
index 64539b5..0000000
Binary files a/static/fonts/glyphicons-halflings-regular.woff2 and /dev/null differ
diff --git a/static/img/canvas_bg.jpg b/static/img/canvas_bg.jpg
deleted file mode 100644
index bed2eca..0000000
Binary files a/static/img/canvas_bg.jpg and /dev/null differ
diff --git a/static/js/bootstrap.js b/static/js/bootstrap.js
deleted file mode 100644
index 01fbbcb..0000000
--- a/static/js/bootstrap.js
+++ /dev/null
@@ -1,2363 +0,0 @@
-/*!
- * Bootstrap v3.3.6 (http://getbootstrap.com)
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under the MIT license
- */
-
-if (typeof jQuery === 'undefined') {
- throw new Error('Bootstrap\'s JavaScript requires jQuery')
-}
-
-+function ($) {
- 'use strict';
- var version = $.fn.jquery.split(' ')[0].split('.')
- if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1) || (version[0] > 2)) {
- throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3')
- }
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: transition.js v3.3.6
- * http://getbootstrap.com/javascript/#transitions
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
- 'use strict';
-
- // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
- // ============================================================
-
- function transitionEnd() {
- var el = document.createElement('bootstrap')
-
- var transEndEventNames = {
- WebkitTransition : 'webkitTransitionEnd',
- MozTransition : 'transitionend',
- OTransition : 'oTransitionEnd otransitionend',
- transition : 'transitionend'
- }
-
- for (var name in transEndEventNames) {
- if (el.style[name] !== undefined) {
- return { end: transEndEventNames[name] }
- }
- }
-
- return false // explicit for ie8 ( ._.)
- }
-
- // http://blog.alexmaccaw.com/css-transitions
- $.fn.emulateTransitionEnd = function (duration) {
- var called = false
- var $el = this
- $(this).one('bsTransitionEnd', function () { called = true })
- var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
- setTimeout(callback, duration)
- return this
- }
-
- $(function () {
- $.support.transition = transitionEnd()
-
- if (!$.support.transition) return
-
- $.event.special.bsTransitionEnd = {
- bindType: $.support.transition.end,
- delegateType: $.support.transition.end,
- handle: function (e) {
- if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)
- }
- }
- })
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: alert.js v3.3.6
- * http://getbootstrap.com/javascript/#alerts
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
- 'use strict';
-
- // ALERT CLASS DEFINITION
- // ======================
-
- var dismiss = '[data-dismiss="alert"]'
- var Alert = function (el) {
- $(el).on('click', dismiss, this.close)
- }
-
- Alert.VERSION = '3.3.6'
-
- Alert.TRANSITION_DURATION = 150
-
- Alert.prototype.close = function (e) {
- var $this = $(this)
- var selector = $this.attr('data-target')
-
- if (!selector) {
- selector = $this.attr('href')
- selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
- }
-
- var $parent = $(selector)
-
- if (e) e.preventDefault()
-
- if (!$parent.length) {
- $parent = $this.closest('.alert')
- }
-
- $parent.trigger(e = $.Event('close.bs.alert'))
-
- if (e.isDefaultPrevented()) return
-
- $parent.removeClass('in')
-
- function removeElement() {
- // detach from parent, fire event then clean up data
- $parent.detach().trigger('closed.bs.alert').remove()
- }
-
- $.support.transition && $parent.hasClass('fade') ?
- $parent
- .one('bsTransitionEnd', removeElement)
- .emulateTransitionEnd(Alert.TRANSITION_DURATION) :
- removeElement()
- }
-
-
- // ALERT PLUGIN DEFINITION
- // =======================
-
- function Plugin(option) {
- return this.each(function () {
- var $this = $(this)
- var data = $this.data('bs.alert')
-
- if (!data) $this.data('bs.alert', (data = new Alert(this)))
- if (typeof option == 'string') data[option].call($this)
- })
- }
-
- var old = $.fn.alert
-
- $.fn.alert = Plugin
- $.fn.alert.Constructor = Alert
-
-
- // ALERT NO CONFLICT
- // =================
-
- $.fn.alert.noConflict = function () {
- $.fn.alert = old
- return this
- }
-
-
- // ALERT DATA-API
- // ==============
-
- $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: button.js v3.3.6
- * http://getbootstrap.com/javascript/#buttons
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
- 'use strict';
-
- // BUTTON PUBLIC CLASS DEFINITION
- // ==============================
-
- var Button = function (element, options) {
- this.$element = $(element)
- this.options = $.extend({}, Button.DEFAULTS, options)
- this.isLoading = false
- }
-
- Button.VERSION = '3.3.6'
-
- Button.DEFAULTS = {
- loadingText: 'loading...'
- }
-
- Button.prototype.setState = function (state) {
- var d = 'disabled'
- var $el = this.$element
- var val = $el.is('input') ? 'val' : 'html'
- var data = $el.data()
-
- state += 'Text'
-
- if (data.resetText == null) $el.data('resetText', $el[val]())
-
- // push to event loop to allow forms to submit
- setTimeout($.proxy(function () {
- $el[val](data[state] == null ? this.options[state] : data[state])
-
- if (state == 'loadingText') {
- this.isLoading = true
- $el.addClass(d).attr(d, d)
- } else if (this.isLoading) {
- this.isLoading = false
- $el.removeClass(d).removeAttr(d)
- }
- }, this), 0)
- }
-
- Button.prototype.toggle = function () {
- var changed = true
- var $parent = this.$element.closest('[data-toggle="buttons"]')
-
- if ($parent.length) {
- var $input = this.$element.find('input')
- if ($input.prop('type') == 'radio') {
- if ($input.prop('checked')) changed = false
- $parent.find('.active').removeClass('active')
- this.$element.addClass('active')
- } else if ($input.prop('type') == 'checkbox') {
- if (($input.prop('checked')) !== this.$element.hasClass('active')) changed = false
- this.$element.toggleClass('active')
- }
- $input.prop('checked', this.$element.hasClass('active'))
- if (changed) $input.trigger('change')
- } else {
- this.$element.attr('aria-pressed', !this.$element.hasClass('active'))
- this.$element.toggleClass('active')
- }
- }
-
-
- // BUTTON PLUGIN DEFINITION
- // ========================
-
- function Plugin(option) {
- return this.each(function () {
- var $this = $(this)
- var data = $this.data('bs.button')
- var options = typeof option == 'object' && option
-
- if (!data) $this.data('bs.button', (data = new Button(this, options)))
-
- if (option == 'toggle') data.toggle()
- else if (option) data.setState(option)
- })
- }
-
- var old = $.fn.button
-
- $.fn.button = Plugin
- $.fn.button.Constructor = Button
-
-
- // BUTTON NO CONFLICT
- // ==================
-
- $.fn.button.noConflict = function () {
- $.fn.button = old
- return this
- }
-
-
- // BUTTON DATA-API
- // ===============
-
- $(document)
- .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) {
- var $btn = $(e.target)
- if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
- Plugin.call($btn, 'toggle')
- if (!($(e.target).is('input[type="radio"]') || $(e.target).is('input[type="checkbox"]'))) e.preventDefault()
- })
- .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
- $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))
- })
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: carousel.js v3.3.6
- * http://getbootstrap.com/javascript/#carousel
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
- 'use strict';
-
- // CAROUSEL CLASS DEFINITION
- // =========================
-
- var Carousel = function (element, options) {
- this.$element = $(element)
- this.$indicators = this.$element.find('.carousel-indicators')
- this.options = options
- this.paused = null
- this.sliding = null
- this.interval = null
- this.$active = null
- this.$items = null
-
- this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this))
-
- this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element
- .on('mouseenter.bs.carousel', $.proxy(this.pause, this))
- .on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
- }
-
- Carousel.VERSION = '3.3.6'
-
- Carousel.TRANSITION_DURATION = 600
-
- Carousel.DEFAULTS = {
- interval: 5000,
- pause: 'hover',
- wrap: true,
- keyboard: true
- }
-
- Carousel.prototype.keydown = function (e) {
- if (/input|textarea/i.test(e.target.tagName)) return
- switch (e.which) {
- case 37: this.prev(); break
- case 39: this.next(); break
- default: return
- }
-
- e.preventDefault()
- }
-
- Carousel.prototype.cycle = function (e) {
- e || (this.paused = false)
-
- this.interval && clearInterval(this.interval)
-
- this.options.interval
- && !this.paused
- && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
-
- return this
- }
-
- Carousel.prototype.getItemIndex = function (item) {
- this.$items = item.parent().children('.item')
- return this.$items.index(item || this.$active)
- }
-
- Carousel.prototype.getItemForDirection = function (direction, active) {
- var activeIndex = this.getItemIndex(active)
- var willWrap = (direction == 'prev' && activeIndex === 0)
- || (direction == 'next' && activeIndex == (this.$items.length - 1))
- if (willWrap && !this.options.wrap) return active
- var delta = direction == 'prev' ? -1 : 1
- var itemIndex = (activeIndex + delta) % this.$items.length
- return this.$items.eq(itemIndex)
- }
-
- Carousel.prototype.to = function (pos) {
- var that = this
- var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active'))
-
- if (pos > (this.$items.length - 1) || pos < 0) return
-
- if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid"
- if (activeIndex == pos) return this.pause().cycle()
-
- return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos))
- }
-
- Carousel.prototype.pause = function (e) {
- e || (this.paused = true)
-
- if (this.$element.find('.next, .prev').length && $.support.transition) {
- this.$element.trigger($.support.transition.end)
- this.cycle(true)
- }
-
- this.interval = clearInterval(this.interval)
-
- return this
- }
-
- Carousel.prototype.next = function () {
- if (this.sliding) return
- return this.slide('next')
- }
-
- Carousel.prototype.prev = function () {
- if (this.sliding) return
- return this.slide('prev')
- }
-
- Carousel.prototype.slide = function (type, next) {
- var $active = this.$element.find('.item.active')
- var $next = next || this.getItemForDirection(type, $active)
- var isCycling = this.interval
- var direction = type == 'next' ? 'left' : 'right'
- var that = this
-
- if ($next.hasClass('active')) return (this.sliding = false)
-
- var relatedTarget = $next[0]
- var slideEvent = $.Event('slide.bs.carousel', {
- relatedTarget: relatedTarget,
- direction: direction
- })
- this.$element.trigger(slideEvent)
- if (slideEvent.isDefaultPrevented()) return
-
- this.sliding = true
-
- isCycling && this.pause()
-
- if (this.$indicators.length) {
- this.$indicators.find('.active').removeClass('active')
- var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)])
- $nextIndicator && $nextIndicator.addClass('active')
- }
-
- var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid"
- if ($.support.transition && this.$element.hasClass('slide')) {
- $next.addClass(type)
- $next[0].offsetWidth // force reflow
- $active.addClass(direction)
- $next.addClass(direction)
- $active
- .one('bsTransitionEnd', function () {
- $next.removeClass([type, direction].join(' ')).addClass('active')
- $active.removeClass(['active', direction].join(' '))
- that.sliding = false
- setTimeout(function () {
- that.$element.trigger(slidEvent)
- }, 0)
- })
- .emulateTransitionEnd(Carousel.TRANSITION_DURATION)
- } else {
- $active.removeClass('active')
- $next.addClass('active')
- this.sliding = false
- this.$element.trigger(slidEvent)
- }
-
- isCycling && this.cycle()
-
- return this
- }
-
-
- // CAROUSEL PLUGIN DEFINITION
- // ==========================
-
- function Plugin(option) {
- return this.each(function () {
- var $this = $(this)
- var data = $this.data('bs.carousel')
- var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option)
- var action = typeof option == 'string' ? option : options.slide
-
- if (!data) $this.data('bs.carousel', (data = new Carousel(this, options)))
- if (typeof option == 'number') data.to(option)
- else if (action) data[action]()
- else if (options.interval) data.pause().cycle()
- })
- }
-
- var old = $.fn.carousel
-
- $.fn.carousel = Plugin
- $.fn.carousel.Constructor = Carousel
-
-
- // CAROUSEL NO CONFLICT
- // ====================
-
- $.fn.carousel.noConflict = function () {
- $.fn.carousel = old
- return this
- }
-
-
- // CAROUSEL DATA-API
- // =================
-
- var clickHandler = function (e) {
- var href
- var $this = $(this)
- var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7
- if (!$target.hasClass('carousel')) return
- var options = $.extend({}, $target.data(), $this.data())
- var slideIndex = $this.attr('data-slide-to')
- if (slideIndex) options.interval = false
-
- Plugin.call($target, options)
-
- if (slideIndex) {
- $target.data('bs.carousel').to(slideIndex)
- }
-
- e.preventDefault()
- }
-
- $(document)
- .on('click.bs.carousel.data-api', '[data-slide]', clickHandler)
- .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler)
-
- $(window).on('load', function () {
- $('[data-ride="carousel"]').each(function () {
- var $carousel = $(this)
- Plugin.call($carousel, $carousel.data())
- })
- })
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: collapse.js v3.3.6
- * http://getbootstrap.com/javascript/#collapse
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
- 'use strict';
-
- // COLLAPSE PUBLIC CLASS DEFINITION
- // ================================
-
- var Collapse = function (element, options) {
- this.$element = $(element)
- this.options = $.extend({}, Collapse.DEFAULTS, options)
- this.$trigger = $('[data-toggle="collapse"][href="#' + element.id + '"],' +
- '[data-toggle="collapse"][data-target="#' + element.id + '"]')
- this.transitioning = null
-
- if (this.options.parent) {
- this.$parent = this.getParent()
- } else {
- this.addAriaAndCollapsedClass(this.$element, this.$trigger)
- }
-
- if (this.options.toggle) this.toggle()
- }
-
- Collapse.VERSION = '3.3.6'
-
- Collapse.TRANSITION_DURATION = 350
-
- Collapse.DEFAULTS = {
- toggle: true
- }
-
- Collapse.prototype.dimension = function () {
- var hasWidth = this.$element.hasClass('width')
- return hasWidth ? 'width' : 'height'
- }
-
- Collapse.prototype.show = function () {
- if (this.transitioning || this.$element.hasClass('in')) return
-
- var activesData
- var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing')
-
- if (actives && actives.length) {
- activesData = actives.data('bs.collapse')
- if (activesData && activesData.transitioning) return
- }
-
- var startEvent = $.Event('show.bs.collapse')
- this.$element.trigger(startEvent)
- if (startEvent.isDefaultPrevented()) return
-
- if (actives && actives.length) {
- Plugin.call(actives, 'hide')
- activesData || actives.data('bs.collapse', null)
- }
-
- var dimension = this.dimension()
-
- this.$element
- .removeClass('collapse')
- .addClass('collapsing')[dimension](0)
- .attr('aria-expanded', true)
-
- this.$trigger
- .removeClass('collapsed')
- .attr('aria-expanded', true)
-
- this.transitioning = 1
-
- var complete = function () {
- this.$element
- .removeClass('collapsing')
- .addClass('collapse in')[dimension]('')
- this.transitioning = 0
- this.$element
- .trigger('shown.bs.collapse')
- }
-
- if (!$.support.transition) return complete.call(this)
-
- var scrollSize = $.camelCase(['scroll', dimension].join('-'))
-
- this.$element
- .one('bsTransitionEnd', $.proxy(complete, this))
- .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize])
- }
-
- Collapse.prototype.hide = function () {
- if (this.transitioning || !this.$element.hasClass('in')) return
-
- var startEvent = $.Event('hide.bs.collapse')
- this.$element.trigger(startEvent)
- if (startEvent.isDefaultPrevented()) return
-
- var dimension = this.dimension()
-
- this.$element[dimension](this.$element[dimension]())[0].offsetHeight
-
- this.$element
- .addClass('collapsing')
- .removeClass('collapse in')
- .attr('aria-expanded', false)
-
- this.$trigger
- .addClass('collapsed')
- .attr('aria-expanded', false)
-
- this.transitioning = 1
-
- var complete = function () {
- this.transitioning = 0
- this.$element
- .removeClass('collapsing')
- .addClass('collapse')
- .trigger('hidden.bs.collapse')
- }
-
- if (!$.support.transition) return complete.call(this)
-
- this.$element
- [dimension](0)
- .one('bsTransitionEnd', $.proxy(complete, this))
- .emulateTransitionEnd(Collapse.TRANSITION_DURATION)
- }
-
- Collapse.prototype.toggle = function () {
- this[this.$element.hasClass('in') ? 'hide' : 'show']()
- }
-
- Collapse.prototype.getParent = function () {
- return $(this.options.parent)
- .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]')
- .each($.proxy(function (i, element) {
- var $element = $(element)
- this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element)
- }, this))
- .end()
- }
-
- Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) {
- var isOpen = $element.hasClass('in')
-
- $element.attr('aria-expanded', isOpen)
- $trigger
- .toggleClass('collapsed', !isOpen)
- .attr('aria-expanded', isOpen)
- }
-
- function getTargetFromTrigger($trigger) {
- var href
- var target = $trigger.attr('data-target')
- || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
-
- return $(target)
- }
-
-
- // COLLAPSE PLUGIN DEFINITION
- // ==========================
-
- function Plugin(option) {
- return this.each(function () {
- var $this = $(this)
- var data = $this.data('bs.collapse')
- var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
-
- if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false
- if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
- if (typeof option == 'string') data[option]()
- })
- }
-
- var old = $.fn.collapse
-
- $.fn.collapse = Plugin
- $.fn.collapse.Constructor = Collapse
-
-
- // COLLAPSE NO CONFLICT
- // ====================
-
- $.fn.collapse.noConflict = function () {
- $.fn.collapse = old
- return this
- }
-
-
- // COLLAPSE DATA-API
- // =================
-
- $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) {
- var $this = $(this)
-
- if (!$this.attr('data-target')) e.preventDefault()
-
- var $target = getTargetFromTrigger($this)
- var data = $target.data('bs.collapse')
- var option = data ? 'toggle' : $this.data()
-
- Plugin.call($target, option)
- })
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: dropdown.js v3.3.6
- * http://getbootstrap.com/javascript/#dropdowns
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
- 'use strict';
-
- // DROPDOWN CLASS DEFINITION
- // =========================
-
- var backdrop = '.dropdown-backdrop'
- var toggle = '[data-toggle="dropdown"]'
- var Dropdown = function (element) {
- $(element).on('click.bs.dropdown', this.toggle)
- }
-
- Dropdown.VERSION = '3.3.6'
-
- function getParent($this) {
- var selector = $this.attr('data-target')
-
- if (!selector) {
- selector = $this.attr('href')
- selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
- }
-
- var $parent = selector && $(selector)
-
- return $parent && $parent.length ? $parent : $this.parent()
- }
-
- function clearMenus(e) {
- if (e && e.which === 3) return
- $(backdrop).remove()
- $(toggle).each(function () {
- var $this = $(this)
- var $parent = getParent($this)
- var relatedTarget = { relatedTarget: this }
-
- if (!$parent.hasClass('open')) return
-
- if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return
-
- $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
-
- if (e.isDefaultPrevented()) return
-
- $this.attr('aria-expanded', 'false')
- $parent.removeClass('open').trigger($.Event('hidden.bs.dropdown', relatedTarget))
- })
- }
-
- Dropdown.prototype.toggle = function (e) {
- var $this = $(this)
-
- if ($this.is('.disabled, :disabled')) return
-
- var $parent = getParent($this)
- var isActive = $parent.hasClass('open')
-
- clearMenus()
-
- if (!isActive) {
- if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
- // if mobile we use a backdrop because click events don't delegate
- $(document.createElement('div'))
- .addClass('dropdown-backdrop')
- .insertAfter($(this))
- .on('click', clearMenus)
- }
-
- var relatedTarget = { relatedTarget: this }
- $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget))
-
- if (e.isDefaultPrevented()) return
-
- $this
- .trigger('focus')
- .attr('aria-expanded', 'true')
-
- $parent
- .toggleClass('open')
- .trigger($.Event('shown.bs.dropdown', relatedTarget))
- }
-
- return false
- }
-
- Dropdown.prototype.keydown = function (e) {
- if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return
-
- var $this = $(this)
-
- e.preventDefault()
- e.stopPropagation()
-
- if ($this.is('.disabled, :disabled')) return
-
- var $parent = getParent($this)
- var isActive = $parent.hasClass('open')
-
- if (!isActive && e.which != 27 || isActive && e.which == 27) {
- if (e.which == 27) $parent.find(toggle).trigger('focus')
- return $this.trigger('click')
- }
-
- var desc = ' li:not(.disabled):visible a'
- var $items = $parent.find('.dropdown-menu' + desc)
-
- if (!$items.length) return
-
- var index = $items.index(e.target)
-
- if (e.which == 38 && index > 0) index-- // up
- if (e.which == 40 && index < $items.length - 1) index++ // down
- if (!~index) index = 0
-
- $items.eq(index).trigger('focus')
- }
-
-
- // DROPDOWN PLUGIN DEFINITION
- // ==========================
-
- function Plugin(option) {
- return this.each(function () {
- var $this = $(this)
- var data = $this.data('bs.dropdown')
-
- if (!data) $this.data('bs.dropdown', (data = new Dropdown(this)))
- if (typeof option == 'string') data[option].call($this)
- })
- }
-
- var old = $.fn.dropdown
-
- $.fn.dropdown = Plugin
- $.fn.dropdown.Constructor = Dropdown
-
-
- // DROPDOWN NO CONFLICT
- // ====================
-
- $.fn.dropdown.noConflict = function () {
- $.fn.dropdown = old
- return this
- }
-
-
- // APPLY TO STANDARD DROPDOWN ELEMENTS
- // ===================================
-
- $(document)
- .on('click.bs.dropdown.data-api', clearMenus)
- .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
- .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
- .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)
- .on('keydown.bs.dropdown.data-api', '.dropdown-menu', Dropdown.prototype.keydown)
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: modal.js v3.3.6
- * http://getbootstrap.com/javascript/#modals
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
- 'use strict';
-
- // MODAL CLASS DEFINITION
- // ======================
-
- var Modal = function (element, options) {
- this.options = options
- this.$body = $(document.body)
- this.$element = $(element)
- this.$dialog = this.$element.find('.modal-dialog')
- this.$backdrop = null
- this.isShown = null
- this.originalBodyPad = null
- this.scrollbarWidth = 0
- this.ignoreBackdropClick = false
-
- if (this.options.remote) {
- this.$element
- .find('.modal-content')
- .load(this.options.remote, $.proxy(function () {
- this.$element.trigger('loaded.bs.modal')
- }, this))
- }
- }
-
- Modal.VERSION = '3.3.6'
-
- Modal.TRANSITION_DURATION = 300
- Modal.BACKDROP_TRANSITION_DURATION = 150
-
- Modal.DEFAULTS = {
- backdrop: true,
- keyboard: true,
- show: true
- }
-
- Modal.prototype.toggle = function (_relatedTarget) {
- return this.isShown ? this.hide() : this.show(_relatedTarget)
- }
-
- Modal.prototype.show = function (_relatedTarget) {
- var that = this
- var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })
-
- this.$element.trigger(e)
-
- if (this.isShown || e.isDefaultPrevented()) return
-
- this.isShown = true
-
- this.checkScrollbar()
- this.setScrollbar()
- this.$body.addClass('modal-open')
-
- this.escape()
- this.resize()
-
- this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
-
- this.$dialog.on('mousedown.dismiss.bs.modal', function () {
- that.$element.one('mouseup.dismiss.bs.modal', function (e) {
- if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true
- })
- })
-
- this.backdrop(function () {
- var transition = $.support.transition && that.$element.hasClass('fade')
-
- if (!that.$element.parent().length) {
- that.$element.appendTo(that.$body) // don't move modals dom position
- }
-
- that.$element
- .show()
- .scrollTop(0)
-
- that.adjustDialog()
-
- if (transition) {
- that.$element[0].offsetWidth // force reflow
- }
-
- that.$element.addClass('in')
-
- that.enforceFocus()
-
- var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })
-
- transition ?
- that.$dialog // wait for modal to slide in
- .one('bsTransitionEnd', function () {
- that.$element.trigger('focus').trigger(e)
- })
- .emulateTransitionEnd(Modal.TRANSITION_DURATION) :
- that.$element.trigger('focus').trigger(e)
- })
- }
-
- Modal.prototype.hide = function (e) {
- if (e) e.preventDefault()
-
- e = $.Event('hide.bs.modal')
-
- this.$element.trigger(e)
-
- if (!this.isShown || e.isDefaultPrevented()) return
-
- this.isShown = false
-
- this.escape()
- this.resize()
-
- $(document).off('focusin.bs.modal')
-
- this.$element
- .removeClass('in')
- .off('click.dismiss.bs.modal')
- .off('mouseup.dismiss.bs.modal')
-
- this.$dialog.off('mousedown.dismiss.bs.modal')
-
- $.support.transition && this.$element.hasClass('fade') ?
- this.$element
- .one('bsTransitionEnd', $.proxy(this.hideModal, this))
- .emulateTransitionEnd(Modal.TRANSITION_DURATION) :
- this.hideModal()
- }
-
- Modal.prototype.enforceFocus = function () {
- $(document)
- .off('focusin.bs.modal') // guard against infinite focus loop
- .on('focusin.bs.modal', $.proxy(function (e) {
- if (this.$element[0] !== e.target && !this.$element.has(e.target).length) {
- this.$element.trigger('focus')
- }
- }, this))
- }
-
- Modal.prototype.escape = function () {
- if (this.isShown && this.options.keyboard) {
- this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) {
- e.which == 27 && this.hide()
- }, this))
- } else if (!this.isShown) {
- this.$element.off('keydown.dismiss.bs.modal')
- }
- }
-
- Modal.prototype.resize = function () {
- if (this.isShown) {
- $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this))
- } else {
- $(window).off('resize.bs.modal')
- }
- }
-
- Modal.prototype.hideModal = function () {
- var that = this
- this.$element.hide()
- this.backdrop(function () {
- that.$body.removeClass('modal-open')
- that.resetAdjustments()
- that.resetScrollbar()
- that.$element.trigger('hidden.bs.modal')
- })
- }
-
- Modal.prototype.removeBackdrop = function () {
- this.$backdrop && this.$backdrop.remove()
- this.$backdrop = null
- }
-
- Modal.prototype.backdrop = function (callback) {
- var that = this
- var animate = this.$element.hasClass('fade') ? 'fade' : ''
-
- if (this.isShown && this.options.backdrop) {
- var doAnimate = $.support.transition && animate
-
- this.$backdrop = $(document.createElement('div'))
- .addClass('modal-backdrop ' + animate)
- .appendTo(this.$body)
-
- this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {
- if (this.ignoreBackdropClick) {
- this.ignoreBackdropClick = false
- return
- }
- if (e.target !== e.currentTarget) return
- this.options.backdrop == 'static'
- ? this.$element[0].focus()
- : this.hide()
- }, this))
-
- if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
-
- this.$backdrop.addClass('in')
-
- if (!callback) return
-
- doAnimate ?
- this.$backdrop
- .one('bsTransitionEnd', callback)
- .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
- callback()
-
- } else if (!this.isShown && this.$backdrop) {
- this.$backdrop.removeClass('in')
-
- var callbackRemove = function () {
- that.removeBackdrop()
- callback && callback()
- }
- $.support.transition && this.$element.hasClass('fade') ?
- this.$backdrop
- .one('bsTransitionEnd', callbackRemove)
- .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
- callbackRemove()
-
- } else if (callback) {
- callback()
- }
- }
-
- // these following methods are used to handle overflowing modals
-
- Modal.prototype.handleUpdate = function () {
- this.adjustDialog()
- }
-
- Modal.prototype.adjustDialog = function () {
- var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight
-
- this.$element.css({
- paddingLeft: !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '',
- paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : ''
- })
- }
-
- Modal.prototype.resetAdjustments = function () {
- this.$element.css({
- paddingLeft: '',
- paddingRight: ''
- })
- }
-
- Modal.prototype.checkScrollbar = function () {
- var fullWindowWidth = window.innerWidth
- if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8
- var documentElementRect = document.documentElement.getBoundingClientRect()
- fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left)
- }
- this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth
- this.scrollbarWidth = this.measureScrollbar()
- }
-
- Modal.prototype.setScrollbar = function () {
- var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)
- this.originalBodyPad = document.body.style.paddingRight || ''
- if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)
- }
-
- Modal.prototype.resetScrollbar = function () {
- this.$body.css('padding-right', this.originalBodyPad)
- }
-
- Modal.prototype.measureScrollbar = function () { // thx walsh
- var scrollDiv = document.createElement('div')
- scrollDiv.className = 'modal-scrollbar-measure'
- this.$body.append(scrollDiv)
- var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth
- this.$body[0].removeChild(scrollDiv)
- return scrollbarWidth
- }
-
-
- // MODAL PLUGIN DEFINITION
- // =======================
-
- function Plugin(option, _relatedTarget) {
- return this.each(function () {
- var $this = $(this)
- var data = $this.data('bs.modal')
- var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)
-
- if (!data) $this.data('bs.modal', (data = new Modal(this, options)))
- if (typeof option == 'string') data[option](_relatedTarget)
- else if (options.show) data.show(_relatedTarget)
- })
- }
-
- var old = $.fn.modal
-
- $.fn.modal = Plugin
- $.fn.modal.Constructor = Modal
-
-
- // MODAL NO CONFLICT
- // =================
-
- $.fn.modal.noConflict = function () {
- $.fn.modal = old
- return this
- }
-
-
- // MODAL DATA-API
- // ==============
-
- $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
- var $this = $(this)
- var href = $this.attr('href')
- var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7
- var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
-
- if ($this.is('a')) e.preventDefault()
-
- $target.one('show.bs.modal', function (showEvent) {
- if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown
- $target.one('hidden.bs.modal', function () {
- $this.is(':visible') && $this.trigger('focus')
- })
- })
- Plugin.call($target, option, this)
- })
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: tooltip.js v3.3.6
- * http://getbootstrap.com/javascript/#tooltip
- * Inspired by the original jQuery.tipsy by Jason Frame
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
- 'use strict';
-
- // TOOLTIP PUBLIC CLASS DEFINITION
- // ===============================
-
- var Tooltip = function (element, options) {
- this.type = null
- this.options = null
- this.enabled = null
- this.timeout = null
- this.hoverState = null
- this.$element = null
- this.inState = null
-
- this.init('tooltip', element, options)
- }
-
- Tooltip.VERSION = '3.3.6'
-
- Tooltip.TRANSITION_DURATION = 150
-
- Tooltip.DEFAULTS = {
- animation: true,
- placement: 'top',
- selector: false,
- template: '',
- trigger: 'hover focus',
- title: '',
- delay: 0,
- html: false,
- container: false,
- viewport: {
- selector: 'body',
- padding: 0
- }
- }
-
- Tooltip.prototype.init = function (type, element, options) {
- this.enabled = true
- this.type = type
- this.$element = $(element)
- this.options = this.getOptions(options)
- this.$viewport = this.options.viewport && $($.isFunction(this.options.viewport) ? this.options.viewport.call(this, this.$element) : (this.options.viewport.selector || this.options.viewport))
- this.inState = { click: false, hover: false, focus: false }
-
- if (this.$element[0] instanceof document.constructor && !this.options.selector) {
- throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')
- }
-
- var triggers = this.options.trigger.split(' ')
-
- for (var i = triggers.length; i--;) {
- var trigger = triggers[i]
-
- if (trigger == 'click') {
- this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
- } else if (trigger != 'manual') {
- var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin'
- var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout'
-
- this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
- this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
- }
- }
-
- this.options.selector ?
- (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
- this.fixTitle()
- }
-
- Tooltip.prototype.getDefaults = function () {
- return Tooltip.DEFAULTS
- }
-
- Tooltip.prototype.getOptions = function (options) {
- options = $.extend({}, this.getDefaults(), this.$element.data(), options)
-
- if (options.delay && typeof options.delay == 'number') {
- options.delay = {
- show: options.delay,
- hide: options.delay
- }
- }
-
- return options
- }
-
- Tooltip.prototype.getDelegateOptions = function () {
- var options = {}
- var defaults = this.getDefaults()
-
- this._options && $.each(this._options, function (key, value) {
- if (defaults[key] != value) options[key] = value
- })
-
- return options
- }
-
- Tooltip.prototype.enter = function (obj) {
- var self = obj instanceof this.constructor ?
- obj : $(obj.currentTarget).data('bs.' + this.type)
-
- if (!self) {
- self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
- $(obj.currentTarget).data('bs.' + this.type, self)
- }
-
- if (obj instanceof $.Event) {
- self.inState[obj.type == 'focusin' ? 'focus' : 'hover'] = true
- }
-
- if (self.tip().hasClass('in') || self.hoverState == 'in') {
- self.hoverState = 'in'
- return
- }
-
- clearTimeout(self.timeout)
-
- self.hoverState = 'in'
-
- if (!self.options.delay || !self.options.delay.show) return self.show()
-
- self.timeout = setTimeout(function () {
- if (self.hoverState == 'in') self.show()
- }, self.options.delay.show)
- }
-
- Tooltip.prototype.isInStateTrue = function () {
- for (var key in this.inState) {
- if (this.inState[key]) return true
- }
-
- return false
- }
-
- Tooltip.prototype.leave = function (obj) {
- var self = obj instanceof this.constructor ?
- obj : $(obj.currentTarget).data('bs.' + this.type)
-
- if (!self) {
- self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
- $(obj.currentTarget).data('bs.' + this.type, self)
- }
-
- if (obj instanceof $.Event) {
- self.inState[obj.type == 'focusout' ? 'focus' : 'hover'] = false
- }
-
- if (self.isInStateTrue()) return
-
- clearTimeout(self.timeout)
-
- self.hoverState = 'out'
-
- if (!self.options.delay || !self.options.delay.hide) return self.hide()
-
- self.timeout = setTimeout(function () {
- if (self.hoverState == 'out') self.hide()
- }, self.options.delay.hide)
- }
-
- Tooltip.prototype.show = function () {
- var e = $.Event('show.bs.' + this.type)
-
- if (this.hasContent() && this.enabled) {
- this.$element.trigger(e)
-
- var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0])
- if (e.isDefaultPrevented() || !inDom) return
- var that = this
-
- var $tip = this.tip()
-
- var tipId = this.getUID(this.type)
-
- this.setContent()
- $tip.attr('id', tipId)
- this.$element.attr('aria-describedby', tipId)
-
- if (this.options.animation) $tip.addClass('fade')
-
- var placement = typeof this.options.placement == 'function' ?
- this.options.placement.call(this, $tip[0], this.$element[0]) :
- this.options.placement
-
- var autoToken = /\s?auto?\s?/i
- var autoPlace = autoToken.test(placement)
- if (autoPlace) placement = placement.replace(autoToken, '') || 'top'
-
- $tip
- .detach()
- .css({ top: 0, left: 0, display: 'block' })
- .addClass(placement)
- .data('bs.' + this.type, this)
-
- this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
- this.$element.trigger('inserted.bs.' + this.type)
-
- var pos = this.getPosition()
- var actualWidth = $tip[0].offsetWidth
- var actualHeight = $tip[0].offsetHeight
-
- if (autoPlace) {
- var orgPlacement = placement
- var viewportDim = this.getPosition(this.$viewport)
-
- placement = placement == 'bottom' && pos.bottom + actualHeight > viewportDim.bottom ? 'top' :
- placement == 'top' && pos.top - actualHeight < viewportDim.top ? 'bottom' :
- placement == 'right' && pos.right + actualWidth > viewportDim.width ? 'left' :
- placement == 'left' && pos.left - actualWidth < viewportDim.left ? 'right' :
- placement
-
- $tip
- .removeClass(orgPlacement)
- .addClass(placement)
- }
-
- var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)
-
- this.applyPlacement(calculatedOffset, placement)
-
- var complete = function () {
- var prevHoverState = that.hoverState
- that.$element.trigger('shown.bs.' + that.type)
- that.hoverState = null
-
- if (prevHoverState == 'out') that.leave(that)
- }
-
- $.support.transition && this.$tip.hasClass('fade') ?
- $tip
- .one('bsTransitionEnd', complete)
- .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
- complete()
- }
- }
-
- Tooltip.prototype.applyPlacement = function (offset, placement) {
- var $tip = this.tip()
- var width = $tip[0].offsetWidth
- var height = $tip[0].offsetHeight
-
- // manually read margins because getBoundingClientRect includes difference
- var marginTop = parseInt($tip.css('margin-top'), 10)
- var marginLeft = parseInt($tip.css('margin-left'), 10)
-
- // we must check for NaN for ie 8/9
- if (isNaN(marginTop)) marginTop = 0
- if (isNaN(marginLeft)) marginLeft = 0
-
- offset.top += marginTop
- offset.left += marginLeft
-
- // $.fn.offset doesn't round pixel values
- // so we use setOffset directly with our own function B-0
- $.offset.setOffset($tip[0], $.extend({
- using: function (props) {
- $tip.css({
- top: Math.round(props.top),
- left: Math.round(props.left)
- })
- }
- }, offset), 0)
-
- $tip.addClass('in')
-
- // check to see if placing tip in new offset caused the tip to resize itself
- var actualWidth = $tip[0].offsetWidth
- var actualHeight = $tip[0].offsetHeight
-
- if (placement == 'top' && actualHeight != height) {
- offset.top = offset.top + height - actualHeight
- }
-
- var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight)
-
- if (delta.left) offset.left += delta.left
- else offset.top += delta.top
-
- var isVertical = /top|bottom/.test(placement)
- var arrowDelta = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight
- var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight'
-
- $tip.offset(offset)
- this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical)
- }
-
- Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) {
- this.arrow()
- .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%')
- .css(isVertical ? 'top' : 'left', '')
- }
-
- Tooltip.prototype.setContent = function () {
- var $tip = this.tip()
- var title = this.getTitle()
-
- $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
- $tip.removeClass('fade in top bottom left right')
- }
-
- Tooltip.prototype.hide = function (callback) {
- var that = this
- var $tip = $(this.$tip)
- var e = $.Event('hide.bs.' + this.type)
-
- function complete() {
- if (that.hoverState != 'in') $tip.detach()
- that.$element
- .removeAttr('aria-describedby')
- .trigger('hidden.bs.' + that.type)
- callback && callback()
- }
-
- this.$element.trigger(e)
-
- if (e.isDefaultPrevented()) return
-
- $tip.removeClass('in')
-
- $.support.transition && $tip.hasClass('fade') ?
- $tip
- .one('bsTransitionEnd', complete)
- .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
- complete()
-
- this.hoverState = null
-
- return this
- }
-
- Tooltip.prototype.fixTitle = function () {
- var $e = this.$element
- if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') {
- $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
- }
- }
-
- Tooltip.prototype.hasContent = function () {
- return this.getTitle()
- }
-
- Tooltip.prototype.getPosition = function ($element) {
- $element = $element || this.$element
-
- var el = $element[0]
- var isBody = el.tagName == 'BODY'
-
- var elRect = el.getBoundingClientRect()
- if (elRect.width == null) {
- // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093
- elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top })
- }
- var elOffset = isBody ? { top: 0, left: 0 } : $element.offset()
- var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() }
- var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null
-
- return $.extend({}, elRect, scroll, outerDims, elOffset)
- }
-
- Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
- return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } :
- placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
- placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
- /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }
-
- }
-
- Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) {
- var delta = { top: 0, left: 0 }
- if (!this.$viewport) return delta
-
- var viewportPadding = this.options.viewport && this.options.viewport.padding || 0
- var viewportDimensions = this.getPosition(this.$viewport)
-
- if (/right|left/.test(placement)) {
- var topEdgeOffset = pos.top - viewportPadding - viewportDimensions.scroll
- var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight
- if (topEdgeOffset < viewportDimensions.top) { // top overflow
- delta.top = viewportDimensions.top - topEdgeOffset
- } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow
- delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset
- }
- } else {
- var leftEdgeOffset = pos.left - viewportPadding
- var rightEdgeOffset = pos.left + viewportPadding + actualWidth
- if (leftEdgeOffset < viewportDimensions.left) { // left overflow
- delta.left = viewportDimensions.left - leftEdgeOffset
- } else if (rightEdgeOffset > viewportDimensions.right) { // right overflow
- delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset
- }
- }
-
- return delta
- }
-
- Tooltip.prototype.getTitle = function () {
- var title
- var $e = this.$element
- var o = this.options
-
- title = $e.attr('data-original-title')
- || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
-
- return title
- }
-
- Tooltip.prototype.getUID = function (prefix) {
- do prefix += ~~(Math.random() * 1000000)
- while (document.getElementById(prefix))
- return prefix
- }
-
- Tooltip.prototype.tip = function () {
- if (!this.$tip) {
- this.$tip = $(this.options.template)
- if (this.$tip.length != 1) {
- throw new Error(this.type + ' `template` option must consist of exactly 1 top-level element!')
- }
- }
- return this.$tip
- }
-
- Tooltip.prototype.arrow = function () {
- return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow'))
- }
-
- Tooltip.prototype.enable = function () {
- this.enabled = true
- }
-
- Tooltip.prototype.disable = function () {
- this.enabled = false
- }
-
- Tooltip.prototype.toggleEnabled = function () {
- this.enabled = !this.enabled
- }
-
- Tooltip.prototype.toggle = function (e) {
- var self = this
- if (e) {
- self = $(e.currentTarget).data('bs.' + this.type)
- if (!self) {
- self = new this.constructor(e.currentTarget, this.getDelegateOptions())
- $(e.currentTarget).data('bs.' + this.type, self)
- }
- }
-
- if (e) {
- self.inState.click = !self.inState.click
- if (self.isInStateTrue()) self.enter(self)
- else self.leave(self)
- } else {
- self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
- }
- }
-
- Tooltip.prototype.destroy = function () {
- var that = this
- clearTimeout(this.timeout)
- this.hide(function () {
- that.$element.off('.' + that.type).removeData('bs.' + that.type)
- if (that.$tip) {
- that.$tip.detach()
- }
- that.$tip = null
- that.$arrow = null
- that.$viewport = null
- })
- }
-
-
- // TOOLTIP PLUGIN DEFINITION
- // =========================
-
- function Plugin(option) {
- return this.each(function () {
- var $this = $(this)
- var data = $this.data('bs.tooltip')
- var options = typeof option == 'object' && option
-
- if (!data && /destroy|hide/.test(option)) return
- if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
- if (typeof option == 'string') data[option]()
- })
- }
-
- var old = $.fn.tooltip
-
- $.fn.tooltip = Plugin
- $.fn.tooltip.Constructor = Tooltip
-
-
- // TOOLTIP NO CONFLICT
- // ===================
-
- $.fn.tooltip.noConflict = function () {
- $.fn.tooltip = old
- return this
- }
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: popover.js v3.3.6
- * http://getbootstrap.com/javascript/#popovers
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
- 'use strict';
-
- // POPOVER PUBLIC CLASS DEFINITION
- // ===============================
-
- var Popover = function (element, options) {
- this.init('popover', element, options)
- }
-
- if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
-
- Popover.VERSION = '3.3.6'
-
- Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
- placement: 'right',
- trigger: 'click',
- content: '',
- template: ''
- })
-
-
- // NOTE: POPOVER EXTENDS tooltip.js
- // ================================
-
- Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype)
-
- Popover.prototype.constructor = Popover
-
- Popover.prototype.getDefaults = function () {
- return Popover.DEFAULTS
- }
-
- Popover.prototype.setContent = function () {
- var $tip = this.tip()
- var title = this.getTitle()
- var content = this.getContent()
-
- $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
- $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events
- this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text'
- ](content)
-
- $tip.removeClass('fade top bottom left right in')
-
- // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do
- // this manually by checking the contents.
- if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide()
- }
-
- Popover.prototype.hasContent = function () {
- return this.getTitle() || this.getContent()
- }
-
- Popover.prototype.getContent = function () {
- var $e = this.$element
- var o = this.options
-
- return $e.attr('data-content')
- || (typeof o.content == 'function' ?
- o.content.call($e[0]) :
- o.content)
- }
-
- Popover.prototype.arrow = function () {
- return (this.$arrow = this.$arrow || this.tip().find('.arrow'))
- }
-
-
- // POPOVER PLUGIN DEFINITION
- // =========================
-
- function Plugin(option) {
- return this.each(function () {
- var $this = $(this)
- var data = $this.data('bs.popover')
- var options = typeof option == 'object' && option
-
- if (!data && /destroy|hide/.test(option)) return
- if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
- if (typeof option == 'string') data[option]()
- })
- }
-
- var old = $.fn.popover
-
- $.fn.popover = Plugin
- $.fn.popover.Constructor = Popover
-
-
- // POPOVER NO CONFLICT
- // ===================
-
- $.fn.popover.noConflict = function () {
- $.fn.popover = old
- return this
- }
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: scrollspy.js v3.3.6
- * http://getbootstrap.com/javascript/#scrollspy
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
- 'use strict';
-
- // SCROLLSPY CLASS DEFINITION
- // ==========================
-
- function ScrollSpy(element, options) {
- this.$body = $(document.body)
- this.$scrollElement = $(element).is(document.body) ? $(window) : $(element)
- this.options = $.extend({}, ScrollSpy.DEFAULTS, options)
- this.selector = (this.options.target || '') + ' .nav li > a'
- this.offsets = []
- this.targets = []
- this.activeTarget = null
- this.scrollHeight = 0
-
- this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this))
- this.refresh()
- this.process()
- }
-
- ScrollSpy.VERSION = '3.3.6'
-
- ScrollSpy.DEFAULTS = {
- offset: 10
- }
-
- ScrollSpy.prototype.getScrollHeight = function () {
- return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight)
- }
-
- ScrollSpy.prototype.refresh = function () {
- var that = this
- var offsetMethod = 'offset'
- var offsetBase = 0
-
- this.offsets = []
- this.targets = []
- this.scrollHeight = this.getScrollHeight()
-
- if (!$.isWindow(this.$scrollElement[0])) {
- offsetMethod = 'position'
- offsetBase = this.$scrollElement.scrollTop()
- }
-
- this.$body
- .find(this.selector)
- .map(function () {
- var $el = $(this)
- var href = $el.data('target') || $el.attr('href')
- var $href = /^#./.test(href) && $(href)
-
- return ($href
- && $href.length
- && $href.is(':visible')
- && [[$href[offsetMethod]().top + offsetBase, href]]) || null
- })
- .sort(function (a, b) { return a[0] - b[0] })
- .each(function () {
- that.offsets.push(this[0])
- that.targets.push(this[1])
- })
- }
-
- ScrollSpy.prototype.process = function () {
- var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
- var scrollHeight = this.getScrollHeight()
- var maxScroll = this.options.offset + scrollHeight - this.$scrollElement.height()
- var offsets = this.offsets
- var targets = this.targets
- var activeTarget = this.activeTarget
- var i
-
- if (this.scrollHeight != scrollHeight) {
- this.refresh()
- }
-
- if (scrollTop >= maxScroll) {
- return activeTarget != (i = targets[targets.length - 1]) && this.activate(i)
- }
-
- if (activeTarget && scrollTop < offsets[0]) {
- this.activeTarget = null
- return this.clear()
- }
-
- for (i = offsets.length; i--;) {
- activeTarget != targets[i]
- && scrollTop >= offsets[i]
- && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1])
- && this.activate(targets[i])
- }
- }
-
- ScrollSpy.prototype.activate = function (target) {
- this.activeTarget = target
-
- this.clear()
-
- var selector = this.selector +
- '[data-target="' + target + '"],' +
- this.selector + '[href="' + target + '"]'
-
- var active = $(selector)
- .parents('li')
- .addClass('active')
-
- if (active.parent('.dropdown-menu').length) {
- active = active
- .closest('li.dropdown')
- .addClass('active')
- }
-
- active.trigger('activate.bs.scrollspy')
- }
-
- ScrollSpy.prototype.clear = function () {
- $(this.selector)
- .parentsUntil(this.options.target, '.active')
- .removeClass('active')
- }
-
-
- // SCROLLSPY PLUGIN DEFINITION
- // ===========================
-
- function Plugin(option) {
- return this.each(function () {
- var $this = $(this)
- var data = $this.data('bs.scrollspy')
- var options = typeof option == 'object' && option
-
- if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options)))
- if (typeof option == 'string') data[option]()
- })
- }
-
- var old = $.fn.scrollspy
-
- $.fn.scrollspy = Plugin
- $.fn.scrollspy.Constructor = ScrollSpy
-
-
- // SCROLLSPY NO CONFLICT
- // =====================
-
- $.fn.scrollspy.noConflict = function () {
- $.fn.scrollspy = old
- return this
- }
-
-
- // SCROLLSPY DATA-API
- // ==================
-
- $(window).on('load.bs.scrollspy.data-api', function () {
- $('[data-spy="scroll"]').each(function () {
- var $spy = $(this)
- Plugin.call($spy, $spy.data())
- })
- })
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: tab.js v3.3.6
- * http://getbootstrap.com/javascript/#tabs
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
- 'use strict';
-
- // TAB CLASS DEFINITION
- // ====================
-
- var Tab = function (element) {
- // jscs:disable requireDollarBeforejQueryAssignment
- this.element = $(element)
- // jscs:enable requireDollarBeforejQueryAssignment
- }
-
- Tab.VERSION = '3.3.6'
-
- Tab.TRANSITION_DURATION = 150
-
- Tab.prototype.show = function () {
- var $this = this.element
- var $ul = $this.closest('ul:not(.dropdown-menu)')
- var selector = $this.data('target')
-
- if (!selector) {
- selector = $this.attr('href')
- selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
- }
-
- if ($this.parent('li').hasClass('active')) return
-
- var $previous = $ul.find('.active:last a')
- var hideEvent = $.Event('hide.bs.tab', {
- relatedTarget: $this[0]
- })
- var showEvent = $.Event('show.bs.tab', {
- relatedTarget: $previous[0]
- })
-
- $previous.trigger(hideEvent)
- $this.trigger(showEvent)
-
- if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return
-
- var $target = $(selector)
-
- this.activate($this.closest('li'), $ul)
- this.activate($target, $target.parent(), function () {
- $previous.trigger({
- type: 'hidden.bs.tab',
- relatedTarget: $this[0]
- })
- $this.trigger({
- type: 'shown.bs.tab',
- relatedTarget: $previous[0]
- })
- })
- }
-
- Tab.prototype.activate = function (element, container, callback) {
- var $active = container.find('> .active')
- var transition = callback
- && $.support.transition
- && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length)
-
- function next() {
- $active
- .removeClass('active')
- .find('> .dropdown-menu > .active')
- .removeClass('active')
- .end()
- .find('[data-toggle="tab"]')
- .attr('aria-expanded', false)
-
- element
- .addClass('active')
- .find('[data-toggle="tab"]')
- .attr('aria-expanded', true)
-
- if (transition) {
- element[0].offsetWidth // reflow for transition
- element.addClass('in')
- } else {
- element.removeClass('fade')
- }
-
- if (element.parent('.dropdown-menu').length) {
- element
- .closest('li.dropdown')
- .addClass('active')
- .end()
- .find('[data-toggle="tab"]')
- .attr('aria-expanded', true)
- }
-
- callback && callback()
- }
-
- $active.length && transition ?
- $active
- .one('bsTransitionEnd', next)
- .emulateTransitionEnd(Tab.TRANSITION_DURATION) :
- next()
-
- $active.removeClass('in')
- }
-
-
- // TAB PLUGIN DEFINITION
- // =====================
-
- function Plugin(option) {
- return this.each(function () {
- var $this = $(this)
- var data = $this.data('bs.tab')
-
- if (!data) $this.data('bs.tab', (data = new Tab(this)))
- if (typeof option == 'string') data[option]()
- })
- }
-
- var old = $.fn.tab
-
- $.fn.tab = Plugin
- $.fn.tab.Constructor = Tab
-
-
- // TAB NO CONFLICT
- // ===============
-
- $.fn.tab.noConflict = function () {
- $.fn.tab = old
- return this
- }
-
-
- // TAB DATA-API
- // ============
-
- var clickHandler = function (e) {
- e.preventDefault()
- Plugin.call($(this), 'show')
- }
-
- $(document)
- .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler)
- .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler)
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: affix.js v3.3.6
- * http://getbootstrap.com/javascript/#affix
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
- 'use strict';
-
- // AFFIX CLASS DEFINITION
- // ======================
-
- var Affix = function (element, options) {
- this.options = $.extend({}, Affix.DEFAULTS, options)
-
- this.$target = $(this.options.target)
- .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
- .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))
-
- this.$element = $(element)
- this.affixed = null
- this.unpin = null
- this.pinnedOffset = null
-
- this.checkPosition()
- }
-
- Affix.VERSION = '3.3.6'
-
- Affix.RESET = 'affix affix-top affix-bottom'
-
- Affix.DEFAULTS = {
- offset: 0,
- target: window
- }
-
- Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) {
- var scrollTop = this.$target.scrollTop()
- var position = this.$element.offset()
- var targetHeight = this.$target.height()
-
- if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false
-
- if (this.affixed == 'bottom') {
- if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom'
- return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom'
- }
-
- var initializing = this.affixed == null
- var colliderTop = initializing ? scrollTop : position.top
- var colliderHeight = initializing ? targetHeight : height
-
- if (offsetTop != null && scrollTop <= offsetTop) return 'top'
- if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom'
-
- return false
- }
-
- Affix.prototype.getPinnedOffset = function () {
- if (this.pinnedOffset) return this.pinnedOffset
- this.$element.removeClass(Affix.RESET).addClass('affix')
- var scrollTop = this.$target.scrollTop()
- var position = this.$element.offset()
- return (this.pinnedOffset = position.top - scrollTop)
- }
-
- Affix.prototype.checkPositionWithEventLoop = function () {
- setTimeout($.proxy(this.checkPosition, this), 1)
- }
-
- Affix.prototype.checkPosition = function () {
- if (!this.$element.is(':visible')) return
-
- var height = this.$element.height()
- var offset = this.options.offset
- var offsetTop = offset.top
- var offsetBottom = offset.bottom
- var scrollHeight = Math.max($(document).height(), $(document.body).height())
-
- if (typeof offset != 'object') offsetBottom = offsetTop = offset
- if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element)
- if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element)
-
- var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom)
-
- if (this.affixed != affix) {
- if (this.unpin != null) this.$element.css('top', '')
-
- var affixType = 'affix' + (affix ? '-' + affix : '')
- var e = $.Event(affixType + '.bs.affix')
-
- this.$element.trigger(e)
-
- if (e.isDefaultPrevented()) return
-
- this.affixed = affix
- this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null
-
- this.$element
- .removeClass(Affix.RESET)
- .addClass(affixType)
- .trigger(affixType.replace('affix', 'affixed') + '.bs.affix')
- }
-
- if (affix == 'bottom') {
- this.$element.offset({
- top: scrollHeight - height - offsetBottom
- })
- }
- }
-
-
- // AFFIX PLUGIN DEFINITION
- // =======================
-
- function Plugin(option) {
- return this.each(function () {
- var $this = $(this)
- var data = $this.data('bs.affix')
- var options = typeof option == 'object' && option
-
- if (!data) $this.data('bs.affix', (data = new Affix(this, options)))
- if (typeof option == 'string') data[option]()
- })
- }
-
- var old = $.fn.affix
-
- $.fn.affix = Plugin
- $.fn.affix.Constructor = Affix
-
-
- // AFFIX NO CONFLICT
- // =================
-
- $.fn.affix.noConflict = function () {
- $.fn.affix = old
- return this
- }
-
-
- // AFFIX DATA-API
- // ==============
-
- $(window).on('load', function () {
- $('[data-spy="affix"]').each(function () {
- var $spy = $(this)
- var data = $spy.data()
-
- data.offset = data.offset || {}
-
- if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom
- if (data.offsetTop != null) data.offset.top = data.offsetTop
-
- Plugin.call($spy, data)
- })
- })
-
-}(jQuery);
diff --git a/static/js/bootstrap.min.js b/static/js/bootstrap.min.js
deleted file mode 100644
index e79c065..0000000
--- a/static/js/bootstrap.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
- * Bootstrap v3.3.6 (http://getbootstrap.com)
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under the MIT license
- */
-if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>2)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.6",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.6",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.6",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.6",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.6",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth
',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.6",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.6",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.6",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);
\ No newline at end of file
diff --git a/static/js/highlight.min.js b/static/js/highlight.min.js
deleted file mode 100644
index 1bd8fca..0000000
--- a/static/js/highlight.min.js
+++ /dev/null
@@ -1,2 +0,0 @@
-!function(e){"undefined"!=typeof exports?e(exports):(window.hljs=e({}),"function"==typeof define&&define.amd&&define([],function(){return window.hljs}))}(function(e){function t(e){return e.replace(/&/gm,"&").replace(//gm,">")}function r(e){return e.nodeName.toLowerCase()}function n(e,t){var r=e&&e.exec(t);return r&&0==r.index}function a(e){var t=(e.className+" "+(e.parentNode?e.parentNode.className:"")).split(/\s+/);return t=t.map(function(e){return e.replace(/^lang(uage)?-/,"")}),t.filter(function(e){return N(e)||/no(-?)highlight/.test(e)})[0]}function i(e,t){var r={};for(var n in e)r[n]=e[n];if(t)for(var n in t)r[n]=t[n];return r}function s(e){var t=[];return function n(e,a){for(var i=e.firstChild;i;i=i.nextSibling)3==i.nodeType?a+=i.nodeValue.length:1==i.nodeType&&(t.push({event:"start",offset:a,node:i}),a=n(i,a),r(i).match(/br|hr|img|input/)||t.push({event:"stop",offset:a,node:i}));return a}(e,0),t}function c(e,n,a){function i(){return e.length&&n.length?e[0].offset!=n[0].offset?e[0].offset"}function c(e){u+=""+r(e)+">"}function o(e){("start"==e.event?s:c)(e.node)}for(var l=0,u="",d=[];e.length||n.length;){var b=i();if(u+=t(a.substr(l,b[0].offset-l)),l=b[0].offset,b==e){d.reverse().forEach(c);do o(b.splice(0,1)[0]),b=i();while(b==e&&b.length&&b[0].offset==l);d.reverse().forEach(s)}else"start"==b[0].event?d.push(b[0].node):d.pop(),o(b.splice(0,1)[0])}return u+t(a.substr(l))}function o(e){function t(e){return e&&e.source||e}function r(r,n){return RegExp(t(r),"m"+(e.cI?"i":"")+(n?"g":""))}function n(a,s){if(!a.compiled){if(a.compiled=!0,a.k=a.k||a.bK,a.k){var c={},o=function(t,r){e.cI&&(r=r.toLowerCase()),r.split(" ").forEach(function(e){var r=e.split("|");c[r[0]]=[t,r[1]?Number(r[1]):1]})};"string"==typeof a.k?o("keyword",a.k):Object.keys(a.k).forEach(function(e){o(e,a.k[e])}),a.k=c}a.lR=r(a.l||/\b[A-Za-z0-9_]+\b/,!0),s&&(a.bK&&(a.b="\\b("+a.bK.split(" ").join("|")+")\\b"),a.b||(a.b=/\B|\b/),a.bR=r(a.b),a.e||a.eW||(a.e=/\B|\b/),a.e&&(a.eR=r(a.e)),a.tE=t(a.e)||"",a.eW&&s.tE&&(a.tE+=(a.e?"|":"")+s.tE)),a.i&&(a.iR=r(a.i)),void 0===a.r&&(a.r=1),a.c||(a.c=[]);var l=[];a.c.forEach(function(e){e.v?e.v.forEach(function(t){l.push(i(e,t))}):l.push("self"==e?a:e)}),a.c=l,a.c.forEach(function(e){n(e,a)}),a.starts&&n(a.starts,s);var u=a.c.map(function(e){return e.bK?"\\.?("+e.b+")\\.?":e.b}).concat([a.tE,a.i]).map(t).filter(Boolean);a.t=u.length?r(u.join("|"),!0):{exec:function(){return null}}}}n(e)}function l(e,r,a,i){function s(e,t){for(var r=0;r";return i+=e+'">',i+t+s}function f(){if(!k.k)return t(S);var e="",r=0;k.lR.lastIndex=0;for(var n=k.lR.exec(S);n;){e+=t(S.substr(r,n.index-r));var a=b(k,n);a?(E+=a[1],e+=p(a[0],t(n[0]))):e+=t(n[0]),r=k.lR.lastIndex,n=k.lR.exec(S)}return e+t(S.substr(r))}function m(){if(k.sL&&!w[k.sL])return t(S);var e=k.sL?l(k.sL,S,!0,x[k.sL]):u(S);return k.r>0&&(E+=e.r),"continuous"==k.subLanguageMode&&(x[k.sL]=e.top),p(e.language,e.value,!1,!0)}function g(){return void 0!==k.sL?m():f()}function _(e,r){var n=e.cN?p(e.cN,"",!0):"";e.rB?(M+=n,S=""):e.eB?(M+=t(r)+n,S=""):(M+=n,S=r),k=Object.create(e,{parent:{value:k}})}function h(e,r){if(S+=e,void 0===r)return M+=g(),0;var n=s(r,k);if(n)return M+=g(),_(n,r),n.rB?0:r.length;var a=c(k,r);if(a){var i=k;i.rE||i.eE||(S+=r),M+=g();do k.cN&&(M+=""),E+=k.r,k=k.parent;while(k!=a.parent);return i.eE&&(M+=t(r)),S="",a.starts&&_(a.starts,""),i.rE?0:r.length}if(d(r,k))throw new Error('Illegal lexeme "'+r+'" for mode "'+(k.cN||"")+'"');return S+=r,r.length||1}var y=N(e);if(!y)throw new Error('Unknown language: "'+e+'"');o(y);for(var k=i||y,x={},M="",C=k;C!=y;C=C.parent)C.cN&&(M=p(C.cN,"",!0)+M);var S="",E=0;try{for(var B,I,L=0;;){if(k.t.lastIndex=L,B=k.t.exec(r),!B)break;I=h(r.substr(L,B.index-L),B[0]),L=B.index+I}h(r.substr(L));for(var C=k;C.parent;C=C.parent)C.cN&&(M+="");return{r:E,value:M,language:e,top:k}}catch(R){if(-1!=R.message.indexOf("Illegal"))return{r:0,value:t(r)};throw R}}function u(e,r){r=r||v.languages||Object.keys(w);var n={r:0,value:t(e)},a=n;return r.forEach(function(t){if(N(t)){var r=l(t,e,!1);r.language=t,r.r>a.r&&(a=r),r.r>n.r&&(a=n,n=r)}}),a.language&&(n.second_best=a),n}function d(e){return v.tabReplace&&(e=e.replace(/^((<[^>]+>|\t)+)/gm,function(e,t){return t.replace(/\t/g,v.tabReplace)})),v.useBR&&(e=e.replace(/\n/g," ")),e}function b(e,t,r){var n=t?y[t]:r,a=[e.trim()];return e.match(/(\s|^)hljs(\s|$)/)||a.push("hljs"),n&&a.push(n),a.join(" ").trim()}function p(e){var t=a(e);if(!/no(-?)highlight/.test(t)){var r;v.useBR?(r=document.createElementNS("http://www.w3.org/1999/xhtml","div"),r.innerHTML=e.innerHTML.replace(/\n/g,"").replace(/ /g,"\n")):r=e;var n=r.textContent,i=t?l(t,n,!0):u(n),o=s(r);if(o.length){var p=document.createElementNS("http://www.w3.org/1999/xhtml","div");p.innerHTML=i.value,i.value=c(o,s(p),n)}i.value=d(i.value),e.innerHTML=i.value,e.className=b(e.className,t,i.language),e.result={language:i.language,re:i.r},i.second_best&&(e.second_best={language:i.second_best.language,re:i.second_best.r})}}function f(e){v=i(v,e)}function m(){if(!m.called){m.called=!0;var e=document.querySelectorAll("pre code");Array.prototype.forEach.call(e,p)}}function g(){addEventListener("DOMContentLoaded",m,!1),addEventListener("load",m,!1)}function _(t,r){var n=w[t]=r(e);n.aliases&&n.aliases.forEach(function(e){y[e]=t})}function h(){return Object.keys(w)}function N(e){return w[e]||w[y[e]]}var v={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0},w={},y={};return e.highlight=l,e.highlightAuto=u,e.fixMarkup=d,e.highlightBlock=p,e.configure=f,e.initHighlighting=m,e.initHighlightingOnLoad=g,e.registerLanguage=_,e.listLanguages=h,e.getLanguage=N,e.inherit=i,e.IR="[a-zA-Z][a-zA-Z0-9_]*",e.UIR="[a-zA-Z_][a-zA-Z0-9_]*",e.NR="\\b\\d+(\\.\\d+)?",e.CNR="(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BNR="\\b(0b[01]+)",e.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BE={b:"\\\\[\\s\\S]",r:0},e.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[e.BE]},e.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[e.BE]},e.PWM={b:/\b(a|an|the|are|I|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such)\b/},e.CLCM={cN:"comment",b:"//",e:"$",c:[e.PWM]},e.CBCM={cN:"comment",b:"/\\*",e:"\\*/",c:[e.PWM]},e.HCM={cN:"comment",b:"#",e:"$",c:[e.PWM]},e.NM={cN:"number",b:e.NR,r:0},e.CNM={cN:"number",b:e.CNR,r:0},e.BNM={cN:"number",b:e.BNR,r:0},e.CSSNM={cN:"number",b:e.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},e.RM={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[e.BE,{b:/\[/,e:/\]/,r:0,c:[e.BE]}]},e.TM={cN:"title",b:e.IR,r:0},e.UTM={cN:"title",b:e.UIR,r:0},e}),hljs.registerLanguage("apache",function(e){var t={cN:"number",b:"[\\$%]\\d+"};return{aliases:["apacheconf"],cI:!0,c:[e.HCM,{cN:"tag",b:"?",e:">"},{cN:"keyword",b:/\w+/,r:0,k:{common:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{e:/$/,r:0,k:{literal:"on off all"},c:[{cN:"sqbracket",b:"\\s\\[",e:"\\]$"},{cN:"cbracket",b:"[\\$%]\\{",e:"\\}",c:["self",t]},t,e.QSM]}}],i:/\S/}}),hljs.registerLanguage("bash",function(e){var t={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)\}/}]},r={cN:"string",b:/"/,e:/"/,c:[e.BE,t,{cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]}]},n={cN:"string",b:/'/,e:/'/};return{aliases:["sh","zsh"],l:/-?[a-z\.]+/,k:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",operator:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"shebang",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:!0,c:[e.inherit(e.TM,{b:/\w[\w\d_]*/})],r:0},e.HCM,e.NM,r,n,t]}}),hljs.registerLanguage("coffeescript",function(e){var t={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super then unless until loop of by when and or is isnt not",literal:"true false null undefined yes no on off",reserved:"case default function var void with const let enum export import native __hasProp __extends __slice __bind __indexOf",built_in:"npm require console print module global window document"},r="[A-Za-z$_][0-9A-Za-z$_]*",n={cN:"subst",b:/#\{/,e:/}/,k:t},a=[e.BNM,e.inherit(e.CNM,{starts:{e:"(\\s*/)?",r:0}}),{cN:"string",v:[{b:/'''/,e:/'''/,c:[e.BE]},{b:/'/,e:/'/,c:[e.BE]},{b:/"""/,e:/"""/,c:[e.BE,n]},{b:/"/,e:/"/,c:[e.BE,n]}]},{cN:"regexp",v:[{b:"///",e:"///",c:[n,e.HCM]},{b:"//[gim]*",r:0},{b:/\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/}]},{cN:"property",b:"@"+r},{b:"`",e:"`",eB:!0,eE:!0,sL:"javascript"}];n.c=a;var i=e.inherit(e.TM,{b:r}),s="(\\(.*\\))?\\s*\\B[-=]>",c={cN:"params",b:"\\([^\\(]",rB:!0,c:[{b:/\(/,e:/\)/,k:t,c:["self"].concat(a)}]};return{aliases:["coffee","cson","iced"],k:t,i:/\/\*/,c:a.concat([{cN:"comment",b:"###",e:"###",c:[e.PWM]},e.HCM,{cN:"function",b:"^\\s*"+r+"\\s*=\\s*"+s,e:"[-=]>",rB:!0,c:[i,c]},{b:/[:\(,=]\s*/,r:0,c:[{cN:"function",b:s,e:"[-=]>",rB:!0,c:[c]}]},{cN:"class",bK:"class",e:"$",i:/[:="\[\]]/,c:[{bK:"extends",eW:!0,i:/[:="\[\]]/,c:[i]},i]},{cN:"attribute",b:r+":",e:":",rB:!0,rE:!0,r:0}])}}),hljs.registerLanguage("cpp",function(e){var t={keyword:"false int float while private char catch export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const struct for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using true class asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue wchar_t inline delete alignof char16_t char32_t constexpr decltype noexcept nullptr static_assert thread_local restrict _Bool complex _Complex _Imaginaryintmax_t uintmax_t int8_t uint8_t int16_t uint16_t int32_t uint32_t int64_t uint64_tint_least8_t uint_least8_t int_least16_t uint_least16_t int_least32_t uint_least32_tint_least64_t uint_least64_t int_fast8_t uint_fast8_t int_fast16_t uint_fast16_t int_fast32_tuint_fast32_t int_fast64_t uint_fast64_t intptr_t uintptr_t atomic_bool atomic_char atomic_scharatomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llongatomic_ullong atomic_wchar_t atomic_char16_t atomic_char32_t atomic_intmax_t atomic_uintmax_tatomic_intptr_t atomic_uintptr_t atomic_size_t atomic_ptrdiff_t atomic_int_least8_t atomic_int_least16_tatomic_int_least32_t atomic_int_least64_t atomic_uint_least8_t atomic_uint_least16_t atomic_uint_least32_tatomic_uint_least64_t atomic_int_fast8_t atomic_int_fast16_t atomic_int_fast32_t atomic_int_fast64_tatomic_uint_fast8_t atomic_uint_fast16_t atomic_uint_fast32_t atomic_uint_fast64_t",built_in:"std string cin cout cerr clog stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf"};return{aliases:["c","h","c++","h++"],k:t,i:"",c:[e.CLCM,e.CBCM,e.QSM,{cN:"string",b:"'\\\\?.",e:"'",i:"."},{cN:"number",b:"\\b(\\d+(\\.\\d*)?|\\.\\d+)(u|U|l|L|ul|UL|f|F)"},e.CNM,{cN:"preprocessor",b:"#",e:"$",k:"if else elif endif define undef warning error line pragma",c:[{b:'include\\s*[<"]',e:'[>"]',k:"include",i:"\\n"},e.CLCM]},{cN:"stl_container",b:"\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",e:">",k:t,c:["self"]},{b:e.IR+"::"},{bK:"new throw return",r:0},{cN:"function",b:"("+e.IR+"\\s+)+"+e.IR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:t,c:[{b:e.IR+"\\s*\\(",rB:!0,c:[e.TM],r:0},{cN:"params",b:/\(/,e:/\)/,k:t,r:0,c:[e.CBCM]},e.CLCM,e.CBCM]}]}}),hljs.registerLanguage("cs",function(e){var t="abstract as base bool break byte case catch char checked const continue decimal default delegate do double else enum event explicit extern false finally fixed float for foreach goto if implicit in int interface internal is lock long null object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this true try typeof uint ulong unchecked unsafe ushort using virtual volatile void while async protected public private internal ascending descending from get group into join let orderby partial select set value var where yield",r=e.IR+"(<"+e.IR+">)?";return{aliases:["csharp"],k:t,i:/::/,c:[{cN:"comment",b:"///",e:"$",rB:!0,c:[{cN:"xmlDocTag",v:[{b:"///",r:0},{b:""},{b:"?",e:">"}]}]},e.CLCM,e.CBCM,{cN:"preprocessor",b:"#",e:"$",k:"if else elif endif define undef warning error line region endregion pragma checksum"},{cN:"string",b:'@"',e:'"',c:[{b:'""'}]},e.ASM,e.QSM,e.CNM,{bK:"class namespace interface",e:/[{;=]/,i:/[^\s:]/,c:[e.TM,e.CLCM,e.CBCM]},{bK:"new return throw await",r:0},{cN:"function",b:"("+r+"\\s+)+"+e.IR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:t,c:[{b:e.IR+"\\s*\\(",rB:!0,c:[e.TM],r:0},{cN:"params",b:/\(/,e:/\)/,k:t,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]}]}}),hljs.registerLanguage("css",function(e){var t="[a-zA-Z-][a-zA-Z0-9_-]*",r={cN:"function",b:t+"\\(",rB:!0,eE:!0,e:"\\("};return{cI:!0,i:"[=/|']",c:[e.CBCM,{cN:"id",b:"\\#[A-Za-z0-9_-]+"},{cN:"class",b:"\\.[A-Za-z0-9_-]+",r:0},{cN:"attr_selector",b:"\\[",e:"\\]",i:"$"},{cN:"pseudo",b:":(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\\\"\\']+"},{cN:"at_rule",b:"@(font-face|page)",l:"[a-z-]+",k:"font-face page"},{cN:"at_rule",b:"@",e:"[{;]",c:[{cN:"keyword",b:/\S+/},{b:/\s/,eW:!0,eE:!0,r:0,c:[r,e.ASM,e.QSM,e.CSSNM]}]},{cN:"tag",b:t,r:0},{cN:"rules",b:"{",e:"}",i:"[^\\s]",r:0,c:[e.CBCM,{cN:"rule",b:"[^\\s]",rB:!0,e:";",eW:!0,c:[{cN:"attribute",b:"[A-Z\\_\\.\\-]+",e:":",eE:!0,i:"[^\\s]",starts:{cN:"value",eW:!0,eE:!0,c:[r,e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:"hexcolor",b:"#[0-9A-Fa-f]+"},{cN:"important",b:"!important"}]}}]}]}]}}),hljs.registerLanguage("diff",function(){return{aliases:["patch"],c:[{cN:"chunk",r:10,v:[{b:/^\@\@ +\-\d+,\d+ +\+\d+,\d+ +\@\@$/},{b:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{b:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{cN:"header",v:[{b:/Index: /,e:/$/},{b:/=====/,e:/=====$/},{b:/^\-\-\-/,e:/$/},{b:/^\*{3} /,e:/$/},{b:/^\+\+\+/,e:/$/},{b:/\*{5}/,e:/\*{5}$/}]},{cN:"addition",b:"^\\+",e:"$"},{cN:"deletion",b:"^\\-",e:"$"},{cN:"change",b:"^\\!",e:"$"}]}}),hljs.registerLanguage("http",function(){return{i:"\\S",c:[{cN:"status",b:"^HTTP/[0-9\\.]+",e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{cN:"request",b:"^[A-Z]+ (.*?) HTTP/[0-9\\.]+$",rB:!0,e:"$",c:[{cN:"string",b:" ",e:" ",eB:!0,eE:!0}]},{cN:"attribute",b:"^\\w",e:": ",eE:!0,i:"\\n|\\s|=",starts:{cN:"string",e:"$"}},{b:"\\n\\n",starts:{sL:"",eW:!0}}]}}),hljs.registerLanguage("ini",function(e){return{cI:!0,i:/\S/,c:[{cN:"comment",b:";",e:"$"},{cN:"title",b:"^\\[",e:"\\]"},{cN:"setting",b:"^[a-z0-9\\[\\]_-]+[ \\t]*=[ \\t]*",e:"$",c:[{cN:"value",eW:!0,k:"on off true false yes no",c:[e.QSM,e.NM],r:0}]}]}}),hljs.registerLanguage("java",function(e){var t=e.UIR+"(<"+e.UIR+">)?",r="false synchronized int abstract float private char boolean static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private",n="(\\b(0b[01_]+)|\\b0[xX][a-fA-F0-9_]+|(\\b[\\d_]+(\\.[\\d_]*)?|\\.[\\d_]+)([eE][-+]?\\d+)?)[lLfF]?",a={cN:"number",b:n,r:0};return{aliases:["jsp"],k:r,i:/<\//,c:[{cN:"javadoc",b:"/\\*\\*",e:"\\*/",r:0,c:[{cN:"javadoctag",b:"(^|\\s)@[A-Za-z]+"}]},e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:"class",bK:"class interface",e:/[{;=]/,eE:!0,k:"class interface",i:/[:"\[\]]/,c:[{bK:"extends implements"},e.UTM]},{bK:"new throw return",r:0},{cN:"function",b:"("+t+"\\s+)+"+e.UIR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:r,c:[{b:e.UIR+"\\s*\\(",rB:!0,r:0,c:[e.UTM]},{cN:"params",b:/\(/,e:/\)/,k:r,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},a,{cN:"annotation",b:"@[A-Za-z]+"}]}}),hljs.registerLanguage("javascript",function(e){return{aliases:["js"],k:{keyword:"in if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const class",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document"},c:[{cN:"pi",r:10,v:[{b:/^\s*('|")use strict('|")/},{b:/^\s*('|")use asm('|")/}]},e.ASM,e.QSM,e.CLCM,e.CBCM,e.CNM,{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{b:/,e:/>;/,r:0,sL:"xml"}],r:0},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:"params",b:/\(/,e:/\)/,c:[e.CLCM,e.CBCM],i:/["'\(]/}],i:/\[|%/},{b:/\$[(.]/},{b:"\\."+e.IR,r:0}]}}),hljs.registerLanguage("json",function(e){var t={literal:"true false null"},r=[e.QSM,e.CNM],n={cN:"value",e:",",eW:!0,eE:!0,c:r,k:t},a={b:"{",e:"}",c:[{cN:"attribute",b:'\\s*"',e:'"\\s*:\\s*',eB:!0,eE:!0,c:[e.BE],i:"\\n",starts:n}],i:"\\S"},i={b:"\\[",e:"\\]",c:[e.inherit(n,{cN:null})],i:"\\S"};return r.splice(r.length,0,a,i),{c:r,k:t,i:"\\S"}}),hljs.registerLanguage("makefile",function(e){var t={cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]};return{aliases:["mk","mak"],c:[e.HCM,{b:/^\w+\s*\W*=/,rB:!0,r:0,starts:{cN:"constant",e:/\s*\W*=/,eE:!0,starts:{e:/$/,r:0,c:[t]}}},{cN:"title",b:/^[\w]+:\s*$/},{cN:"phony",b:/^\.PHONY:/,e:/$/,k:".PHONY",l:/[\.\w]+/},{b:/^\t+/,e:/$/,r:0,c:[e.QSM,t]}]}}),hljs.registerLanguage("xml",function(){var e="[A-Za-z0-9\\._:-]+",t={b:/<\?(php)?(?!\w)/,e:/\?>/,sL:"php",subLanguageMode:"continuous"},r={eW:!0,i:/,r:0,c:[t,{cN:"attribute",b:e,r:0},{b:"=",r:0,c:[{cN:"value",c:[t],v:[{b:/"/,e:/"/},{b:/'/,e:/'/},{b:/[^\s\/>]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xsl","plist"],cI:!0,c:[{cN:"doctype",b:"",r:10,c:[{b:"\\[",e:"\\]"}]},{cN:"comment",b:"",r:10},{cN:"cdata",b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"tag",b:"",rE:!0,sL:"css"}},{cN:"tag",b:"",rE:!0,sL:"javascript"}},t,{cN:"pi",b:/<\?\w+/,e:/\?>/,r:10},{cN:"tag",b:"?",e:"/?>",c:[{cN:"title",b:/[^ \/><\n\t]+/,r:0},r]}]}}),hljs.registerLanguage("markdown",function(){return{aliases:["md","mkdown","mkd"],c:[{cN:"header",v:[{b:"^#{1,6}",e:"$"},{b:"^.+?\\n[=-]{2,}$"}]},{b:"<",e:">",sL:"xml",r:0},{cN:"bullet",b:"^([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",v:[{b:"\\*.+?\\*"},{b:"_.+?_",r:0}]},{cN:"blockquote",b:"^>\\s+",e:"$"},{cN:"code",v:[{b:"`.+?`"},{b:"^( {4}| )",e:"$",r:0}]},{cN:"horizontal_rule",b:"^[-\\*]{3,}",e:"$"},{b:"\\[.+?\\][\\(\\[].*?[\\)\\]]",rB:!0,c:[{cN:"link_label",b:"\\[",e:"\\]",eB:!0,rE:!0,r:0},{cN:"link_url",b:"\\]\\(",e:"\\)",eB:!0,eE:!0},{cN:"link_reference",b:"\\]\\[",e:"\\]",eB:!0,eE:!0}],r:10},{b:"^\\[.+\\]:",rB:!0,c:[{cN:"link_reference",b:"\\[",e:"\\]:",eB:!0,eE:!0,starts:{cN:"link_url",e:"$"}}]}]}}),hljs.registerLanguage("nginx",function(e){var t={cN:"variable",v:[{b:/\$\d+/},{b:/\$\{/,e:/}/},{b:"[\\$\\@]"+e.UIR}]},r={eW:!0,l:"[a-z/_]+",k:{built_in:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},r:0,i:"=>",c:[e.HCM,{cN:"string",c:[e.BE,t],v:[{b:/"/,e:/"/},{b:/'/,e:/'/}]},{cN:"url",b:"([a-z]+):/",e:"\\s",eW:!0,eE:!0,c:[t]},{cN:"regexp",c:[e.BE,t],v:[{b:"\\s\\^",e:"\\s|{|;",rE:!0},{b:"~\\*?\\s+",e:"\\s|{|;",rE:!0},{b:"\\*(\\.[a-z\\-]+)+"},{b:"([a-z\\-]+\\.)+\\*"}]},{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{cN:"number",b:"\\b\\d+[kKmMgGdshdwy]*\\b",r:0},t]};return{aliases:["nginxconf"],c:[e.HCM,{b:e.UIR+"\\s",e:";|{",rB:!0,c:[{cN:"title",b:e.UIR,starts:r}],r:0}],i:"[^\\s\\}]"}}),hljs.registerLanguage("objectivec",function(e){var t={keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"NSString NSData NSDictionary CGRect CGPoint UIButton UILabel UITextView UIWebView MKMapView NSView NSViewController NSWindow NSWindowController NSSet NSUUID NSIndexSet UISegmentedControl NSObject UITableViewDelegate UITableViewDataSource NSThread UIActivityIndicator UITabbar UIToolBar UIBarButtonItem UIImageView NSAutoreleasePool UITableView BOOL NSInteger CGFloat NSException NSLog NSMutableString NSMutableArray NSMutableDictionary NSURL NSIndexPath CGSize UITableViewCell UIView UIViewController UINavigationBar UINavigationController UITabBarController UIPopoverController UIPopoverControllerDelegate UIImage NSNumber UISearchBar NSFetchedResultsController NSFetchedResultsChangeType UIScrollView UIScrollViewDelegate UIEdgeInsets UIColor UIFont UIApplication NSNotFound NSNotificationCenter NSNotification UILocalNotification NSBundle NSFileManager NSTimeInterval NSDate NSCalendar NSUserDefaults UIWindow NSRange NSArray NSError NSURLRequest NSURLConnection NSURLSession NSURLSessionDataTask NSURLSessionDownloadTask NSURLSessionUploadTask NSURLResponseUIInterfaceOrientation MPMoviePlayerController dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},r=/[a-zA-Z@][a-zA-Z0-9_]*/,n="@interface @class @protocol @implementation";return{aliases:["m","mm","objc","obj-c"],k:t,l:r,i:"",c:[e.CLCM,e.CBCM,e.CNM,e.QSM,{cN:"string",v:[{b:'@"',e:'"',i:"\\n",c:[e.BE]},{b:"'",e:"[^\\\\]'",i:"[^\\\\][^']"}]},{cN:"preprocessor",b:"#",e:"$",c:[{cN:"title",v:[{b:'"',e:'"'},{b:"<",e:">"}]}]},{cN:"class",b:"("+n.split(" ").join("|")+")\\b",e:"({|$)",eE:!0,k:n,l:r,c:[e.UTM]},{cN:"variable",b:"\\."+e.UIR,r:0}]}}),hljs.registerLanguage("perl",function(e){var t="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when",r={cN:"subst",b:"[$@]\\{",e:"\\}",k:t},n={b:"->{",e:"}"},a={cN:"variable",v:[{b:/\$\d/},{b:/[\$\%\@](\^\w\b|#\w+(\:\:\w+)*|{\w+}|\w+(\:\:\w*)*)/},{b:/[\$\%\@][^\s\w{]/,r:0}]},i={cN:"comment",b:"^(__END__|__DATA__)",e:"\\n$",r:5},s=[e.BE,r,a],c=[a,e.HCM,i,{cN:"comment",b:"^\\=\\w",e:"\\=cut",eW:!0},n,{cN:"string",c:s,v:[{b:"q[qwxr]?\\s*\\(",e:"\\)",r:5},{b:"q[qwxr]?\\s*\\[",e:"\\]",r:5},{b:"q[qwxr]?\\s*\\{",e:"\\}",r:5},{b:"q[qwxr]?\\s*\\|",e:"\\|",r:5},{b:"q[qwxr]?\\s*\\<",e:"\\>",r:5},{b:"qw\\s+q",e:"q",r:5},{b:"'",e:"'",c:[e.BE]},{b:'"',e:'"'},{b:"`",e:"`",c:[e.BE]},{b:"{\\w+}",c:[],r:0},{b:"-?\\w+\\s*\\=\\>",c:[],r:0}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\/\\/|"+e.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split return print reverse grep",r:0,c:[e.HCM,i,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[e.BE],r:0}]},{cN:"sub",bK:"sub",e:"(\\s*\\(.*?\\))?[;{]",r:5},{cN:"operator",b:"-\\w\\b",r:0}];return r.c=c,n.c=c,{aliases:["pl"],k:t,c:c}}),hljs.registerLanguage("php",function(e){var t={cN:"variable",b:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},r={cN:"preprocessor",b:/<\?(php)?|\?>/},n={cN:"string",c:[e.BE,r],v:[{b:'b"',e:'"'},{b:"b'",e:"'"},e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},a={v:[e.BNM,e.CNM]};return{aliases:["php3","php4","php5","php6"],cI:!0,k:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally",c:[e.CLCM,e.HCM,{cN:"comment",b:"/\\*",e:"\\*/",c:[{cN:"phpdoc",b:"\\s@[A-Za-z]+"},r]},{cN:"comment",b:"__halt_compiler.+?;",eW:!0,k:"__halt_compiler",l:e.UIR},{cN:"string",b:"<<<['\"]?\\w+['\"]?$",e:"^\\w+;",c:[e.BE]},r,t,{b:/->+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{cN:"function",bK:"function",e:/[;{]/,eE:!0,i:"\\$|\\[|%",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)",c:["self",t,e.CBCM,n,a]}]},{cN:"class",bK:"class interface",e:"{",eE:!0,i:/[:\(\$"]/,c:[{bK:"extends implements"},e.UTM]},{bK:"namespace",e:";",i:/[\.']/,c:[e.UTM]},{bK:"use",e:";",c:[e.UTM]},{b:"=>"},n,a]}}),hljs.registerLanguage("python",function(e){var t={cN:"prompt",b:/^(>>>|\.\.\.) /},r={cN:"string",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[t],r:10},{b:/(u|b)?r?"""/,e:/"""/,c:[t],r:10},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},e.ASM,e.QSM]},n={cN:"number",r:0,v:[{b:e.BNR+"[lLjJ]?"},{b:"\\b(0o[0-7]+)[lLjJ]?"},{b:e.CNR+"[lLjJ]?"}]},a={cN:"params",b:/\(/,e:/\)/,c:["self",t,n,r]};return{aliases:["py","gyp"],k:{keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda nonlocal|10 None True False",built_in:"Ellipsis NotImplemented"},i:/(<\/|->|\?)/,c:[t,n,r,e.HCM,{v:[{cN:"function",bK:"def",r:10},{cN:"class",bK:"class"}],e:/:/,i:/[${=;\n]/,c:[e.UTM,a]},{cN:"decorator",b:/@/,e:/$/},{b:/\b(print|exec)\(/}]}}),hljs.registerLanguage("ruby",function(e){var t="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",r="and false then defined module in return redo if BEGIN retry end for true self when next until do begin unless END rescue nil else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",n={cN:"yardoctag",b:"@[A-Za-z]+"},a={cN:"value",b:"#<",e:">"},i={cN:"comment",v:[{b:"#",e:"$",c:[n]},{b:"^\\=begin",e:"^\\=end",c:[n],r:10},{b:"^__END__",e:"\\n$"}]},s={cN:"subst",b:"#\\{",e:"}",k:r},c={cN:"string",c:[e.BE,s],v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/`/,e:/`/},{b:"%[qQwWx]?\\(",e:"\\)"},{b:"%[qQwWx]?\\[",e:"\\]"},{b:"%[qQwWx]?{",e:"}"},{b:"%[qQwWx]?<",e:">"},{b:"%[qQwWx]?/",e:"/"},{b:"%[qQwWx]?%",e:"%"},{b:"%[qQwWx]?-",e:"-"},{b:"%[qQwWx]?\\|",e:"\\|"},{b:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/}]},o={cN:"params",b:"\\(",e:"\\)",k:r},l=[c,a,i,{cN:"class",bK:"class module",e:"$|;",i:/=/,c:[e.inherit(e.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{cN:"inheritance",b:"<\\s*",c:[{cN:"parent",b:"("+e.IR+"::)?"+e.IR}]},i]},{cN:"function",bK:"def",e:" |$|;",r:0,c:[e.inherit(e.TM,{b:t}),o,i]},{cN:"constant",b:"(::)?(\\b[A-Z]\\w*(::)?)+",r:0},{cN:"symbol",b:e.UIR+"(\\!|\\?)?:",r:0},{cN:"symbol",b:":",c:[c,{b:t}],r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{cN:"variable",b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{b:"("+e.RSR+")\\s*",c:[a,i,{cN:"regexp",c:[e.BE,s],i:/\n/,v:[{b:"/",e:"/[a-z]*"},{b:"%r{",e:"}[a-z]*"},{b:"%r\\(",e:"\\)[a-z]*"},{b:"%r!",e:"![a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}],r:0}];s.c=l,o.c=l;var u="[>?]>",d="[\\w#]+\\(\\w+\\):\\d+:\\d+>",b="(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>",p=[{b:/^\s*=>/,cN:"status",starts:{e:"$",c:l}},{cN:"prompt",b:"^("+u+"|"+d+"|"+b+")",starts:{e:"$",c:l}}];return{aliases:["rb","gemspec","podspec","thor","irb"],k:r,c:[i].concat(p).concat(l)}}),hljs.registerLanguage("sql",function(e){var t={cN:"comment",b:"--",e:"$"};return{cI:!0,i:/[<>]/,c:[{cN:"operator",bK:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate savepoint release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup",e:/;/,eW:!0,k:{keyword:"abs absolute acos action add adddate addtime aes_decrypt aes_encrypt after aggregate all allocate alter analyze and any are as asc ascii asin assertion at atan atan2 atn2 authorization authors avg backup before begin benchmark between bin binlog bit_and bit_count bit_length bit_or bit_xor both by cache call cascade cascaded case cast catalog ceil ceiling chain change changed char_length character_length charindex charset check checksum checksum_agg choose close coalesce coercibility collate collation collationproperty column columns columns_updated commit compress concat concat_ws concurrent connect connection connection_id consistent constraint constraints continue contributors conv convert convert_tz corresponding cos cot count count_big crc32 create cross cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime data database databases datalength date_add date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts datetimeoffsetfromparts day dayname dayofmonth dayofweek dayofyear deallocate declare decode default deferrable deferred degrees delayed delete des_decrypt des_encrypt des_key_file desc describe descriptor diagnostics difference disconnect distinct distinctrow div do domain double drop dumpfile each else elt enclosed encode encrypt end end-exec engine engines eomonth errors escape escaped event eventdata events except exception exec execute exists exp explain export_set extended external extract fast fetch field fields find_in_set first first_value floor flush for force foreign format found found_rows from from_base64 from_days from_unixtime full function get get_format get_lock getdate getutcdate global go goto grant grants greatest group group_concat grouping grouping_id gtid_subset gtid_subtract handler having help hex high_priority hosts hour ident_current ident_incr ident_seed identified identity if ifnull ignore iif ilike immediate in index indicator inet6_aton inet6_ntoa inet_aton inet_ntoa infile initially inner innodb input insert install instr intersect into is is_free_lock is_ipv4 is_ipv4_compat is_ipv4_mapped is_not is_not_null is_used_lock isdate isnull isolation join key kill language last last_day last_insert_id last_value lcase lead leading least leaves left len lenght level like limit lines ln load load_file local localtime localtimestamp locate lock log log10 log2 logfile logs low_priority lower lpad ltrim make_set makedate maketime master master_pos_wait match matched max md5 medium merge microsecond mid min minute mod mode module month monthname mutex name_const names national natural nchar next no no_write_to_binlog not now nullif nvarchar oct octet_length of old_password on only open optimize option optionally or ord order outer outfile output pad parse partial partition password patindex percent_rank percentile_cont percentile_disc period_add period_diff pi plugin position pow power pragma precision prepare preserve primary prior privileges procedure procedure_analyze processlist profile profiles public publishingservername purge quarter query quick quote quotename radians rand read references regexp relative relaylog release release_lock rename repair repeat replace replicate reset restore restrict return returns reverse revoke right rlike rollback rollup round row row_count rows rpad rtrim savepoint schema scroll sec_to_time second section select serializable server session session_user set sha sha1 sha2 share show sign sin size slave sleep smalldatetimefromparts snapshot some soname soundex sounds_like space sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sql_variant_property sqlstate sqrt square start starting status std stddev stddev_pop stddev_samp stdev stdevp stop str str_to_date straight_join strcmp string stuff subdate substr substring subtime subtring_index sum switchoffset sysdate sysdatetime sysdatetimeoffset system_user sysutcdatetime table tables tablespace tan temporary terminated tertiary_weights then time time_format time_to_sec timediff timefromparts timestamp timestampadd timestampdiff timezone_hour timezone_minute to to_base64 to_days to_seconds todatetimeoffset trailing transaction translation trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse ucase uncompress uncompressed_length unhex unicode uninstall union unique unix_timestamp unknown unlock update upgrade upped upper usage use user user_resources using utc_date utc_time utc_timestamp uuid uuid_short validate_password_strength value values var var_pop var_samp variables variance varp version view warnings week weekday weekofyear weight_string when whenever where with work write xml xor year yearweek zon",literal:"true false null",built_in:"array bigint binary bit blob boolean char character date dec decimal float int integer interval number numeric real serial smallint varchar varying int8 serial8 text"},c:[{cN:"string",b:"'",e:"'",c:[e.BE,{b:"''"}]},{cN:"string",b:'"',e:'"',c:[e.BE,{b:'""'}]},{cN:"string",b:"`",e:"`",c:[e.BE]},e.CNM,e.CBCM,t]},e.CBCM,t]}
-});
\ No newline at end of file
diff --git a/static/js/index.js b/static/js/index.js
deleted file mode 100644
index 4587177..0000000
--- a/static/js/index.js
+++ /dev/null
@@ -1,148 +0,0 @@
-/**
- * 页面ready方法
- */
-$(document).ready(function() {
-
- categoryDisplay();
- generateContent();
- backToTop();
-});
-
-/**
- * load方法,页面的加载完成后触发
- * {fixFooterInit();} 固定Footer栏
- */
-/*$(window).load(function() {
- fixFooterInit();
-});*/
-
-
-/**
- * 固定底栏的初始化方法
- * 在一开始载入页面时,使用fixFooter()方法固定底栏。
- * 在浏览器窗口改变大小是,依然固定底栏
- * @return {[type]} [description]
- */
-function fixFooterInit() {
- var footerHeight = $('footer').outerHeight();
- var footerMarginTop = getFooterMarginTop() - 0; //类型转换
- // var footerMarginTop = 80;
-
- fixFooter(footerHeight, footerMarginTop); //fix footer at the beginning
-
- $(window).resize(function() { //when resize window, footer can auto get the postion
- fixFooter(footerHeight, footerMarginTop);
- });
-
- /* $('body').click(function() {
- fixFooter(footerHeight, footerMarginTop);
- });*/
-
-
-}
-
-/**
- * 固定底栏
- * @param {number} footerHeight 底栏高度
- * @param {number} footerMarginTop 底栏MarginTop
- * @return {[type]} [description]
- */
-function fixFooter(footerHeight, footerMarginTop) {
- var windowHeight = $(window).height();
- var contentHeight = $('body>.container').outerHeight() + $('body>.container').offset().top + footerHeight + footerMarginTop;
- // console.log("window---"+windowHeight);
- // console.log("$('body>.container').outerHeight()---"+$('body>.container').outerHeight() );
- // console.log("$('body>.container').height()---"+$('body>.container').height() );
- // console.log("$('#main').height()--------"+$('#main').height());
- // console.log("$('body').height()--------"+$('body').height());
- //console.log("$('#main').html()--------"+$('#main').html());
- // console.log("$('body>.container').offset().top----"+$('body>.container').offset().top);
- // console.log("footerHeight---"+footerHeight);
- // console.log("footerMarginTop---"+footerMarginTop);
- console.log(contentHeight);
- if (contentHeight < windowHeight) {
- $('footer').addClass('navbar-fixed-bottom');
- } else {
- $('footer').removeClass('navbar-fixed-bottom');
- }
-
- $('footer').show(400);
-}
-
-/**
- * 使用正则表达式得到底栏的MarginTop
- * @return {string} 底栏的MarginTop
- */
-function getFooterMarginTop() {
- var margintop = $('footer').css('marginTop');
- var patt = new RegExp("[0-9]*");
- var re = patt.exec(margintop);
- // console.log(re[0]);
- return re[0];
-}
-
-/**
- * 分类展示
- * 点击右侧的分类展示时
- * 左侧的相关裂变展开或者收起
- * @return {[type]} [description]
- */
-function categoryDisplay() {
- /*only show All*/
- $('.post-list-body>div[post-cate!=All]').hide();
- /*show category when click categories list*/
- $('.categories-list-item').click(function() {
- var cate = $(this).attr('cate'); //get category's name
- $('.post-list-body>div[post-cate!=' + cate + ']').hide(250);
- $('.post-list-body>div[post-cate=' + cate + ']').show(400);
- if (cate == "All") {cate = "Upcoming Events";}
- $('.post-list-header').html(cate);
- });
-}
-
-/**
- * 回到顶部
- */
-function backToTop() {
- //滚页面才显示返回顶部
- $(window).scroll(function() {
- if ($(window).scrollTop() > 100) {
- $("#top").fadeIn(500);
- } else {
- $("#top").fadeOut(500);
- }
- });
- //点击回到顶部
- $("#top").click(function() {
- $("body").animate({
- scrollTop: "0"
- }, 500);
- });
-
- //初始化tip
- $(function() {
- $('[data-toggle="tooltip"]').tooltip();
- });
-}
-
-
-/**
- * 侧边目录
- */
-function generateContent() {
-
- // console.log($('#markdown-toc').html());
- if (typeof $('#markdown-toc').html() === 'undefined') {
- // $('#content .content-text').html('');
- $('#content').hide();
- $('#myArticle').removeClass('col-sm-9').addClass('col-sm-12');
- } else {
- $('#content .content-text').html('' + $('#markdown-toc').html() + ' ');
- /* //数据加载完成后,加固定边栏
- $('#myAffix').attr({
- 'data-spy': 'affix',
- 'data-offset': '50'
- });*/
- }
- console.log("myAffix!!!");
-}
\ No newline at end of file
diff --git a/static/js/jquery-1.11.1.min.js b/static/js/jquery-1.11.1.min.js
deleted file mode 100644
index ab28a24..0000000
--- a/static/js/jquery-1.11.1.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
-!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.1",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="
",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML=" ",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML=" ","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML=" ",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;
-if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML=" a ",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML=" ",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h ]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/\s*$/g,rb={option:[1,""," "],legend:[1,""," "],area:[1,""," "],param:[1,""," "],thead:[1,""],tr:[2,""],col:[2,""],td:[3,""],_default:k.htmlSerialize?[0,"",""]:[1,"X","
"]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1>$2>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?""!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1>$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("")).appendTo(b.documentElement),b=(Cb[0].contentWindow||Cb[0].contentDocument).document,b.write(),b.close(),c=Eb(a,b),Cb.detach()),Db[a]=c),c}!function(){var a;k.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,d;return c=y.getElementsByTagName("body")[0],c&&c.style?(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(y.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var Gb=/^margin/,Hb=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ib,Jb,Kb=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ib=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||m.contains(a.ownerDocument,a)||(g=m.style(a,b)),Hb.test(g)&&Gb.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):y.documentElement.currentStyle&&(Ib=function(a){return a.currentStyle},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Hb.test(g)&&!Kb.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Lb(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h;if(b=y.createElement("div"),b.innerHTML=" a ",d=b.getElementsByTagName("a")[0],c=d&&d.style){c.cssText="float:left;opacity:.5",k.opacity="0.5"===c.opacity,k.cssFloat=!!c.cssFloat,b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===b.style.backgroundClip,k.boxSizing=""===c.boxSizing||""===c.MozBoxSizing||""===c.WebkitBoxSizing,m.extend(k,{reliableHiddenOffsets:function(){return null==g&&i(),g},boxSizingReliable:function(){return null==f&&i(),f},pixelPosition:function(){return null==e&&i(),e},reliableMarginRight:function(){return null==h&&i(),h}});function i(){var b,c,d,i;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",e=f=!1,h=!0,a.getComputedStyle&&(e="1%"!==(a.getComputedStyle(b,null)||{}).top,f="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,i=b.appendChild(y.createElement("div")),i.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",b.style.width="1px",h=!parseFloat((a.getComputedStyle(i,null)||{}).marginRight)),b.innerHTML="",i=b.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",g=0===i[0].offsetHeight,g&&(i[0].style.display="",i[1].style.display="none",g=0===i[0].offsetHeight),c.removeChild(d))}}}(),m.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Mb=/alpha\([^)]*\)/i,Nb=/opacity\s*=\s*([^)]*)/,Ob=/^(none|table(?!-c[ea]).+)/,Pb=new RegExp("^("+S+")(.*)$","i"),Qb=new RegExp("^([+-])=("+S+")","i"),Rb={position:"absolute",visibility:"hidden",display:"block"},Sb={letterSpacing:"0",fontWeight:"400"},Tb=["Webkit","O","Moz","ms"];function Ub(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Tb.length;while(e--)if(b=Tb[e]+c,b in a)return b;return d}function Vb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=m._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&U(d)&&(f[g]=m._data(d,"olddisplay",Fb(d.nodeName)))):(e=U(d),(c&&"none"!==c||!e)&&m._data(d,"olddisplay",e?c:m.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Wb(a,b,c){var d=Pb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Xb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=m.css(a,c+T[f],!0,e)),d?("content"===c&&(g-=m.css(a,"padding"+T[f],!0,e)),"margin"!==c&&(g-=m.css(a,"border"+T[f]+"Width",!0,e))):(g+=m.css(a,"padding"+T[f],!0,e),"padding"!==c&&(g+=m.css(a,"border"+T[f]+"Width",!0,e)));return g}function Yb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ib(a),g=k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Jb(a,b,f),(0>e||null==e)&&(e=a.style[b]),Hb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Xb(a,b,c||(g?"border":"content"),d,f)+"px"}m.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Jb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":k.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=m.camelCase(b),i=a.style;if(b=m.cssProps[h]||(m.cssProps[h]=Ub(i,h)),g=m.cssHooks[b]||m.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Qb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(m.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||m.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=m.camelCase(b);return b=m.cssProps[h]||(m.cssProps[h]=Ub(a.style,h)),g=m.cssHooks[b]||m.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Jb(a,b,d)),"normal"===f&&b in Sb&&(f=Sb[b]),""===c||c?(e=parseFloat(f),c===!0||m.isNumeric(e)?e||0:f):f}}),m.each(["height","width"],function(a,b){m.cssHooks[b]={get:function(a,c,d){return c?Ob.test(m.css(a,"display"))&&0===a.offsetWidth?m.swap(a,Rb,function(){return Yb(a,b,d)}):Yb(a,b,d):void 0},set:function(a,c,d){var e=d&&Ib(a);return Wb(a,c,d?Xb(a,b,d,k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,e),e):0)}}}),k.opacity||(m.cssHooks.opacity={get:function(a,b){return Nb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=m.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===m.trim(f.replace(Mb,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Mb.test(f)?f.replace(Mb,e):f+" "+e)}}),m.cssHooks.marginRight=Lb(k.reliableMarginRight,function(a,b){return b?m.swap(a,{display:"inline-block"},Jb,[a,"marginRight"]):void 0}),m.each({margin:"",padding:"",border:"Width"},function(a,b){m.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+T[d]+b]=f[d]||f[d-2]||f[0];return e}},Gb.test(a)||(m.cssHooks[a+b].set=Wb)}),m.fn.extend({css:function(a,b){return V(this,function(a,b,c){var d,e,f={},g=0;if(m.isArray(b)){for(d=Ib(a),e=b.length;e>g;g++)f[b[g]]=m.css(a,b[g],!1,d);return f}return void 0!==c?m.style(a,b,c):m.css(a,b)},a,b,arguments.length>1)},show:function(){return Vb(this,!0)},hide:function(){return Vb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){U(this)?m(this).show():m(this).hide()})}});function Zb(a,b,c,d,e){return new Zb.prototype.init(a,b,c,d,e)}m.Tween=Zb,Zb.prototype={constructor:Zb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px")
-},cur:function(){var a=Zb.propHooks[this.prop];return a&&a.get?a.get(this):Zb.propHooks._default.get(this)},run:function(a){var b,c=Zb.propHooks[this.prop];return this.pos=b=this.options.duration?m.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Zb.propHooks._default.set(this),this}},Zb.prototype.init.prototype=Zb.prototype,Zb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Zb.propHooks.scrollTop=Zb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},m.fx=Zb.prototype.init,m.fx.step={};var $b,_b,ac=/^(?:toggle|show|hide)$/,bc=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cc=/queueHooks$/,dc=[ic],ec={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bc.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bc.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,m.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function fc(){return setTimeout(function(){$b=void 0}),$b=m.now()}function gc(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=T[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function hc(a,b,c){for(var d,e=(ec[b]||[]).concat(ec["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ic(a,b,c){var d,e,f,g,h,i,j,l,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),l="none"===j?m._data(a,"olddisplay")||Fb(a.nodeName):j,"inline"===l&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fb(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ac.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||m.style(a,d)}else j=void 0;if(m.isEmptyObject(o))"inline"===("none"===j?Fb(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o)m.style(a,b,o[b])});for(d in o)g=hc(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function jc(a,b){var c,d,e,f,g;for(c in a)if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=m.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kc(a,b,c){var d,e,f=0,g=dc.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$b||fc(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$b||fc(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jc(k,j.opts.specialEasing);g>f;f++)if(d=dc[f].call(j,a,k,j.opts))return d;return m.map(k,hc,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}m.Animation=m.extend(kc,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],ec[c]=ec[c]||[],ec[c].unshift(b)},prefilter:function(a,b){b?dc.unshift(a):dc.push(a)}}),m.speed=function(a,b,c){var d=a&&"object"==typeof a?m.extend({},a):{complete:c||!c&&b||m.isFunction(a)&&a,duration:a,easing:c&&b||b&&!m.isFunction(b)&&b};return d.duration=m.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in m.fx.speeds?m.fx.speeds[d.duration]:m.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){m.isFunction(d.old)&&d.old.call(this),d.queue&&m.dequeue(this,d.queue)},d},m.fn.extend({fadeTo:function(a,b,c,d){return this.filter(U).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=m.isEmptyObject(a),f=m.speed(b,c,d),g=function(){var b=kc(this,m.extend({},a),f);(e||m._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=m.timers,g=m._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&cc.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&m.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=m._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=m.timers,g=d?d.length:0;for(c.finish=!0,m.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),m.each(["toggle","show","hide"],function(a,b){var c=m.fn[b];m.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gc(b,!0),a,d,e)}}),m.each({slideDown:gc("show"),slideUp:gc("hide"),slideToggle:gc("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){m.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),m.timers=[],m.fx.tick=function(){var a,b=m.timers,c=0;for($b=m.now();ca ",d=b.getElementsByTagName("a")[0],c=y.createElement("select"),e=c.appendChild(y.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",k.getSetAttribute="t"!==b.className,k.style=/top/.test(d.getAttribute("style")),k.hrefNormalized="/a"===d.getAttribute("href"),k.checkOn=!!a.value,k.optSelected=e.selected,k.enctype=!!y.createElement("form").enctype,c.disabled=!0,k.optDisabled=!e.disabled,a=y.createElement("input"),a.setAttribute("value",""),k.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),k.radioValue="t"===a.value}();var lc=/\r/g;m.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=m.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,m(this).val()):a,null==e?e="":"number"==typeof e?e+="":m.isArray(e)&&(e=m.map(e,function(a){return null==a?"":a+""})),b=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=m.valHooks[e.type]||m.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(lc,""):null==c?"":c)}}}),m.extend({valHooks:{option:{get:function(a){var b=m.find.attr(a,"value");return null!=b?b:m.trim(m.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&m.nodeName(c.parentNode,"optgroup"))){if(b=m(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=m.makeArray(b),g=e.length;while(g--)if(d=e[g],m.inArray(m.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(a,b){return m.isArray(b)?a.checked=m.inArray(m(a).val(),b)>=0:void 0}},k.checkOn||(m.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var mc,nc,oc=m.expr.attrHandle,pc=/^(?:checked|selected)$/i,qc=k.getSetAttribute,rc=k.input;m.fn.extend({attr:function(a,b){return V(this,m.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){m.removeAttr(this,a)})}}),m.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===K?m.prop(a,b,c):(1===f&&m.isXMLDoc(a)||(b=b.toLowerCase(),d=m.attrHooks[b]||(m.expr.match.bool.test(b)?nc:mc)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=m.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void m.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=m.propFix[c]||c,m.expr.match.bool.test(c)?rc&&qc||!pc.test(c)?a[d]=!1:a[m.camelCase("default-"+c)]=a[d]=!1:m.attr(a,c,""),a.removeAttribute(qc?c:d)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&m.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),nc={set:function(a,b,c){return b===!1?m.removeAttr(a,c):rc&&qc||!pc.test(c)?a.setAttribute(!qc&&m.propFix[c]||c,c):a[m.camelCase("default-"+c)]=a[c]=!0,c}},m.each(m.expr.match.bool.source.match(/\w+/g),function(a,b){var c=oc[b]||m.find.attr;oc[b]=rc&&qc||!pc.test(b)?function(a,b,d){var e,f;return d||(f=oc[b],oc[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,oc[b]=f),e}:function(a,b,c){return c?void 0:a[m.camelCase("default-"+b)]?b.toLowerCase():null}}),rc&&qc||(m.attrHooks.value={set:function(a,b,c){return m.nodeName(a,"input")?void(a.defaultValue=b):mc&&mc.set(a,b,c)}}),qc||(mc={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},oc.id=oc.name=oc.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},m.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:mc.set},m.attrHooks.contenteditable={set:function(a,b,c){mc.set(a,""===b?!1:b,c)}},m.each(["width","height"],function(a,b){m.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),k.style||(m.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var sc=/^(?:input|select|textarea|button|object)$/i,tc=/^(?:a|area)$/i;m.fn.extend({prop:function(a,b){return V(this,m.prop,a,b,arguments.length>1)},removeProp:function(a){return a=m.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),m.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!m.isXMLDoc(a),f&&(b=m.propFix[b]||b,e=m.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=m.find.attr(a,"tabindex");return b?parseInt(b,10):sc.test(a.nodeName)||tc.test(a.nodeName)&&a.href?0:-1}}}}),k.hrefNormalized||m.each(["href","src"],function(a,b){m.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),k.optSelected||(m.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this}),k.enctype||(m.propFix.enctype="encoding");var uc=/[\t\r\n\f]/g;m.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=m.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?m.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(m.isFunction(a)?function(c){m(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=m(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===K||"boolean"===c)&&(this.className&&m._data(this,"__className__",this.className),this.className=this.className||a===!1?"":m._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(uc," ").indexOf(b)>=0)return!0;return!1}}),m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){m.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),m.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var vc=m.now(),wc=/\?/,xc=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;m.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=m.trim(b+"");return e&&!m.trim(e.replace(xc,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():m.error("Invalid JSON: "+b)},m.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+b),c};var yc,zc,Ac=/#.*$/,Bc=/([?&])_=[^&]*/,Cc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Dc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ec=/^(?:GET|HEAD)$/,Fc=/^\/\//,Gc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hc={},Ic={},Jc="*/".concat("*");try{zc=location.href}catch(Kc){zc=y.createElement("a"),zc.href="",zc=zc.href}yc=Gc.exec(zc.toLowerCase())||[];function Lc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(m.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Mc(a,b,c,d){var e={},f=a===Ic;function g(h){var i;return e[h]=!0,m.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Nc(a,b){var c,d,e=m.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&m.extend(!0,a,c),a}function Oc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Pc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zc,type:"GET",isLocal:Dc.test(yc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Jc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Nc(Nc(a,m.ajaxSettings),b):Nc(m.ajaxSettings,a)},ajaxPrefilter:Lc(Hc),ajaxTransport:Lc(Ic),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=m.ajaxSetup({},b),l=k.context||k,n=k.context&&(l.nodeType||l.jquery)?m(l):m.event,o=m.Deferred(),p=m.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Cc.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||zc)+"").replace(Ac,"").replace(Fc,yc[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=m.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(c=Gc.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===yc[1]&&c[2]===yc[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(yc[3]||("http:"===yc[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=m.param(k.data,k.traditional)),Mc(Hc,k,b,v),2===t)return v;h=k.global,h&&0===m.active++&&m.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Ec.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(wc.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Bc.test(e)?e.replace(Bc,"$1_="+vc++):e+(wc.test(e)?"&":"?")+"_="+vc++)),k.ifModified&&(m.lastModified[e]&&v.setRequestHeader("If-Modified-Since",m.lastModified[e]),m.etag[e]&&v.setRequestHeader("If-None-Match",m.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Jc+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Mc(Ic,k,b,v)){v.readyState=1,h&&n.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Oc(k,v,c)),u=Pc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(m.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(m.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&n.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(n.trigger("ajaxComplete",[v,k]),--m.active||m.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return m.get(a,b,c,"json")},getScript:function(a,b){return m.get(a,void 0,b,"script")}}),m.each(["get","post"],function(a,b){m[b]=function(a,c,d,e){return m.isFunction(c)&&(e=e||d,d=c,c=void 0),m.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m._evalUrl=function(a){return m.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},m.fn.extend({wrapAll:function(a){if(m.isFunction(a))return this.each(function(b){m(this).wrapAll(a.call(this,b))});if(this[0]){var b=m(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(m.isFunction(a)?function(b){m(this).wrapInner(a.call(this,b))}:function(){var b=m(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=m.isFunction(a);return this.each(function(c){m(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!k.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||m.css(a,"display"))},m.expr.filters.visible=function(a){return!m.expr.filters.hidden(a)};var Qc=/%20/g,Rc=/\[\]$/,Sc=/\r?\n/g,Tc=/^(?:submit|button|image|reset|file)$/i,Uc=/^(?:input|select|textarea|keygen)/i;function Vc(a,b,c,d){var e;if(m.isArray(b))m.each(b,function(b,e){c||Rc.test(a)?d(a,e):Vc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==m.type(b))d(a,b);else for(e in b)Vc(a+"["+e+"]",b[e],c,d)}m.param=function(a,b){var c,d=[],e=function(a,b){b=m.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(a)||a.jquery&&!m.isPlainObject(a))m.each(a,function(){e(this.name,this.value)});else for(c in a)Vc(c,a[c],b,e);return d.join("&").replace(Qc,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=m.prop(this,"elements");return a?m.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!m(this).is(":disabled")&&Uc.test(this.nodeName)&&!Tc.test(a)&&(this.checked||!W.test(a))}).map(function(a,b){var c=m(this).val();return null==c?null:m.isArray(c)?m.map(c,function(a){return{name:b.name,value:a.replace(Sc,"\r\n")}}):{name:b.name,value:c.replace(Sc,"\r\n")}}).get()}}),m.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zc()||$c()}:Zc;var Wc=0,Xc={},Yc=m.ajaxSettings.xhr();a.ActiveXObject&&m(a).on("unload",function(){for(var a in Xc)Xc[a](void 0,!0)}),k.cors=!!Yc&&"withCredentials"in Yc,Yc=k.ajax=!!Yc,Yc&&m.ajaxTransport(function(a){if(!a.crossDomain||k.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Wc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Xc[g],b=void 0,f.onreadystatechange=m.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Xc[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function Zc(){try{return new a.XMLHttpRequest}catch(b){}}function $c(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return m.globalEval(a),a}}}),m.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),m.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=y.head||m("head")[0]||y.documentElement;return{send:function(d,e){b=y.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var _c=[],ad=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=_c.pop()||m.expando+"_"+vc++;return this[a]=!0,a}}),m.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(ad.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&ad.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=m.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(ad,"$1"+e):b.jsonp!==!1&&(b.url+=(wc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||m.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,_c.push(e)),g&&m.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),m.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||y;var d=u.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m.buildFragment([a],b,e),e&&e.length&&m(e).remove(),m.merge([],d.childNodes))};var bd=m.fn.load;m.fn.load=function(a,b,c){if("string"!=typeof a&&bd)return bd.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=m.trim(a.slice(h,a.length)),a=a.slice(0,h)),m.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&m.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?m("").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cd=a.document.documentElement;function dd(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dd(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cd;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position"))a=a.offsetParent;return a||cd})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dd(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=Lb(k.pixelPosition,function(a,c){return c?(c=Jb(a,b),Hb.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ed=a.jQuery,fd=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fd),b&&a.jQuery===m&&(a.jQuery=ed),m},typeof b===K&&(a.jQuery=a.$=m),m});
diff --git a/static/js/npm.js b/static/js/npm.js
deleted file mode 100644
index bf6aa80..0000000
--- a/static/js/npm.js
+++ /dev/null
@@ -1,13 +0,0 @@
-// This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.
-require('../../js/transition.js')
-require('../../js/alert.js')
-require('../../js/button.js')
-require('../../js/carousel.js')
-require('../../js/collapse.js')
-require('../../js/dropdown.js')
-require('../../js/modal.js')
-require('../../js/tooltip.js')
-require('../../js/popover.js')
-require('../../js/scrollspy.js')
-require('../../js/tab.js')
-require('../../js/affix.js')
\ No newline at end of file
diff --git a/test.csv b/test.csv
deleted file mode 100644
index 17c414d..0000000
--- a/test.csv
+++ /dev/null
@@ -1,88 +0,0 @@
-date,headline,id
-2015-06-18,"b'Amid Grief for Students, a Search for Answers After Balcony Collapse'",55820bb379881050cab6118a
-2015-06-16,b'Official Discusses Balcony Collapse',5580579979881026daaeb146
-2015-06-17,b'Deaths of Irish Students in Berkeley Balcony Collapse Cast Pall on Program',558004097988107680879836
-2015-06-18,b'Ireland Mourns 6 Victims of Berkeley Balcony Collapse',55814c4979881026daaeb3f0
-2015-10-30,b'Scandal-Plagued San Francisco Sheriff Limps to Election Day',56328aa8798810201af95a5c
-2015-12-19,b'Death at UC Berkeley Fraternity House Deemed Suspicious',567635417988102f4b59404d
-2015-07-31,b'Glare of Video Is Shifting Public\xe2\x80\x99s View of Police',55bad03e79881073c9554d1d
-2015-01-24,"b'A Police Chief Turned Pastor, Working to Heal the Nation’s Racial Rifts '",54c27bd879881004ea41040f
-2015-01-21,"b'A Counterculture Spirit Flourishes, Preserved Under Fiberglass Domes '",54be888f7988103cf6190f57
-2015-12-31,b'Police Leaders\xe2\x80\x99 Competing Claims Draw Focus to How New York Counts Crimes',5683f5ed7988103adce17a4d
-2015-03-30,b'Missing U.C. Berkeley Student Was Killed in Weekend Car Accident',55196930798810292a2724fe
-2015-06-20,b'Cousins Killed in Berkeley Balcony Collapse Had a Twins Bond',558512b379881026a685cd45
-2015-11-05,b'Berkeley High Students Walk Out Over Racist Post',563bb8537988103d373bcd4f
-2015-11-23,b'Black Lives Matter Protesters Sue Over Treatment by California Police',565391727988104005cb1990
-2015-11-24,b'Black Lives Matter Protesters Sue Over Treatment by California Police',5654ac1a79881079a1ff8a3b
-2015-09-04,b'3 Corrections Deputies in California Charged With Murder in Death of Mentally Ill Inmate ',55e8ea277988106fab7b20f6
-2015-11-12,b'Lawsuits Filed Over Northern California Balcony Collapse',5645492f7988106302182c0e
-2015-06-29,b'University of California Sued Over Sex Assault Claims',5591b964798810525124d1ec
-2015-06-16,b'6 Killed in California Balcony Collapse During a Party',557ffc1a798810768087981d
-2015-03-21,b'Philadelphia Commissioner Steps Into Fray Between Police and Public',550cc96f7988103e9f1ec906
-2015-09-03,"b'California Data Shows Racial Disparity in Arrests, Deaths'",55e7f2ec7988104aea81bb9d
-2015-09-02,"b'California Data Shows Racial Disparity in Arrests, Deaths'",55e6a38879881026ccfe94a9
-2015-07-01,b'FBI Looks Into Fiber-Optic Vandalism in Northern California',559487237988102ce46b8679
-2015-02-01,"b""Northern California Chief's New Approach Revitalizes Force""",54ce51c379881063e978c389
-2015-11-06,b'California High School Student Confesses to Racist Computer Post',563d165b79881009f278cc28
-2015-06-16,"b'Balcony Collapse Kills Six, Most of Them Irish Students, in California'",557ff6717988107680879809
-2015-11-05,b'California High School Students Walk Out Over Racist Post Probed as Hate Crime',563bca8f7988103d373bcd8b
-2015-06-23,b'Inspectors Point to Wood Rot in Fatal California Balcony Collapse',5589aba97988107b193e2983
-2015-06-24,b'Hillary Clinton’s ‘All Lives Matter’ Remark Stirs Backlash',558accc37988107b193e2ce2
-2015-01-12,"b""What's Wrong With 'All Lives Matter'?""",54b47ced798810566ec195de
-2015-03-30,b'Police: Missing College Athlete Died on Los Angeles Freeway',55195fdb798810292a2724ce
-2015-03-02,b'Shoestring Legal Aid Group Helps Poor in Rural India ',54f3c34c79881075cd221ae6
-2015-02-06,"b'For Police Body Cameras, Big Costs Loom in Storing Footage'",54d4fd6a7988103a3d0e4468
-2015-10-25,"b'Court by Court, Lawyers Fight Policies That Fall Heavily on the Poor'",562a80aa79881010ffa5f56f
-2015-03-27,"b""Video Shows 'Hospitality Ambassador' Beating Homeless Man""",5514f10f79881034ed52c92b
-2015-06-16,b'The Latest: Engineer Says Balcony Appears Small for Load',55800daf798810768087984f
-2015-09-27,"b'Paid Notice: Deaths TAKAGI, PAUL TAKAO'",5611e8237988106596879600
-2015-09-26,"b'Paid Notice: Deaths TAKAGI, PAUL '",5607b0237988105b659dba7e
-2015-08-17,b'Magnitude 4.0 Earthquake Jolts San Francisco Bay Area',55d1e9f679881047a7501bbd
-2015-02-27,b'Thieves Crash Car Through Electronics Store in San Francisco',54f0c34a79881073aef9e955
-2015-05-04,"b""UC Berkeley's Mark Twain Project Finds Cache of New Writing""",55479dcc7988106468df5f00
-2015-07-04,b'At Least 14 Hospitalized After Deck Collapses in North Carolina',5598862c7988102a141559ff
-2015-02-12,"b""Town Requests Probe After Prostitute Steals Sergeant's Gun""",54dd12707988107ed47f2ec7
-2015-03-19,b'Janet Napolitano Apologizes for Disparaging Student Protest',550b1bc57988100e8ac09ba5
-2015-06-19,b'Family Gathers for Vigil for 4 Victims From Balcony Collapse',5583d63d7988107e6c5b5ce5
-2015-09-29,"b'Journalist, Tap Dancer Among 2015 Genius Grant Winners'",560a29b47988106c63fa431b
-2015-07-31,"b""Youth Advocates Decry Trying Teen as Adult in Girl's Death""",55bbeadd79881012a690ae23
-2015-06-16,b'A Look at Past US Accidents Involving Balcony Collapses',5580774779881026daaeb1ca
-2015-01-28,b'Museum Vows to Reopen After Thieves Swipe Historic Gold',54c8965079881078889c7791
-2015-07-22,b'Manchester United Beats Earthquakes 3-1 in Exhibition',55af34997988100274320127
-2015-01-27,b'Thieves Smash Stolen SUV Into San Francisco Museum for Gold',54c7b0a3798810239ad255eb
-2015-11-26,b'Laws Struggle to Keep Up as Hoverboards\xe2\x80\x99 Popularity Soars',5655e1e179881079a1ff8dd4
-2015-06-28,b'Americans Exude Joy on Gay Pride Day After Court Ruling',5590481679881030910bf8ca
-2015-11-25,b'\xe2\x80\x98White Student Union\xe2\x80\x99 Groups Set Off Concerns at Campuses',5654ed5b79881079a1ff8b1c
-2015-08-03,b'Rolling Stone Appoints a New Managing Editor',55becb317988102ce5b0cf48
-2015-08-19,"b'Tony Gleaton, 67, Dies, Leaving Legacy in Pictures of Africans in the Americas '",55d3dbcc79881078c66e9fcb
-2015-10-13,b'Hazing and Drinking Deaths at Asian-American Fraternities Raise Concerns',561b769b7988101d11e0d9bc
-2015-03-25,b'Grading Teachers by the Test',5511aee7798810513797dd02
-2015-06-16,b'What\xe2\x80\x99s on TV Tuesday',557fad57798810768087973d
-2015-01-14,"b'In a Safer Age, U.S. Rethinks Its ‘Tough on Crime’ System '",54b5cf2679881025bee962da
-2015-03-16,b'Durst Heir Faces Murder Charge After Documentary Broadcast',55068994798810519b0141ef
-2015-06-04,"b'China Keeps Lid on Information, as Hopes Dim in Yangtze Ship Disaster'",556edee979881067f08c70a3
-2015-04-16,"b'Barbara Strauch, 63, Science and Health Editor at The Times and Author, Dies'",552eefab7988107a4d3c3e41
-2015-11-20,b'Home Values Point to a Sharp Wealth Divide Within US Cities',564f1a447988107601fbdaab
-2015-06-23,b'What’s On TV Tuesday',5588e7df7988105da13a2c1d
-2015-02-13,b'The Quotable David Carr',54dd9db17988107ed47f3399
-2015-03-02,b'Your Monday Briefing',54f4606779881075cd22345b
-2015-11-15,b'The War on Campus Sexual Assault Goes Digital',56464541798810237382f72e
-2015-12-27,b'Oscar Winning Cameraman Haskell Wexler Dies at 93',56802c3f79881067a3935373
-2015-06-16,"b'Science, Now Under Scrutiny Itself'",557f194479881076808795d1
-2015-08-09,b'Push for Higher Minimum Wage Ignites Worry About Enforcement',55c76e2b7988106f6132e0e5
-2015-08-16,b'\xe2\x80\x98Key & Peele\xe2\x80\x99 Ends While Nation Could Still Use a Laugh',55cfaef17988103f3b217913
-2015-10-25,b'The Soft Evidence Behind the Hard Rhetoric of \xe2\x80\x98Deterrence\xe2\x80\x99',56261ec77988101bb67567c6
-2015-01-26,b'The Supreme Court Meets the Real World',54c6df44798810239ad253b3
-2015-05-30,b'Chinese Security Laws Elevate the Party and Stifle Dissent. Mao Would Approve.',55690d5d7988105dd5c8c59d
-2015-06-19,"b'World Shocked at Enduring Racism, Gun Violence in US'",55841a757988107e6c5b5ddb
-2015-01-05,"b'After Spotlight, Ferguson Faces a Challenging Road Forward'",54aa2e3979881040cba0f4d5
-2015-11-12,"b'Gentlemen, Start Your Drones'",56433d9879881061a84c1164
-2015-01-03,"b'After Spotlight, Ferguson Faces a Challenging Road Forward'",54a81c0e79881073e89147e3
-2015-02-26,b'Would We Be Safer if Fewer Were Jailed?',54ef5e93798810693c97d2f9
-2015-02-01,b'The Fire on the 57 Bus in Oakland',54ca3cae79881036118ed524
-2015-12-20,b'A Training Ground for Untrained Artists',5671524f7988104bc71c069f
-2015-08-17,b'Exclusion of Blacks From Juries Raises Renewed Scrutiny',55d061e87988103f3b217a12
-2015-05-25,"b'John F. Nash Jr., Math Genius Defined by a \xe2\x80\x98Beautiful Mind,\xe2\x80\x99 Dies at 86'",5561e5427988107411514e29
-2015-03-07,b'From the Archives:\xc2\xa0Where\xe2\x80\x99s the Spirit of Selma Now?',54fa4dbb7988104de7896f50
-2015-10-18,b'Shrimp Boy\xe2\x80\x99s Day in Court',561ce43e798810413432ca4d
-2015-01-14,b'The Most Debated Room for Debates',54b6ccd87988105eedbf9651
diff --git a/testing/Test frameworks.ipynb b/testing/Test frameworks.ipynb
new file mode 100644
index 0000000..eae3a63
--- /dev/null
+++ b/testing/Test frameworks.ipynb
@@ -0,0 +1,86 @@
+{
+ "metadata": {
+ "name": ""
+ },
+ "nbformat": 3,
+ "nbformat_minor": 0,
+ "worksheets": [
+ {
+ "cells": [
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from math import sqrt"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Unittest"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "from unittest import TestCase\n",
+ "\n",
+ "class SqrtTestCase(TestCase):\n",
+ " def test_sqrt(self):\n",
+ " self.assertEqual(sqrt(36), 6)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "Nose"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "import nose.tools as nt\n",
+ "\n",
+ "def test_sqrt():\n",
+ " nt.assert_equal(sqrt(36), 6)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ },
+ {
+ "cell_type": "heading",
+ "level": 2,
+ "metadata": {},
+ "source": [
+ "py.test"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "def test_sqrt():\n",
+ " assert sqrt(36) == 6"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": []
+ }
+ ],
+ "metadata": {}
+ }
+ ]
+}
\ No newline at end of file
diff --git a/to-the-next-level-2-29-16.pdf b/to-the-next-level-2-29-16.pdf
deleted file mode 100644
index 9142d08..0000000
Binary files a/to-the-next-level-2-29-16.pdf and /dev/null differ
diff --git a/trainings/2014-08-berkeley-dlab.md b/trainings/2014-08-berkeley-dlab.md
deleted file mode 100644
index e5d12be..0000000
--- a/trainings/2014-08-berkeley-dlab.md
+++ /dev/null
@@ -1,95 +0,0 @@
----
-layout: page
-redirect_from: /trainings/2014-08-berkeley-dlab.html
----
-
-
-
-## Getting ready
-
-Please download and install BCE 0.1.1 for virtualbox. Links and instructions are
-[here](http://collaboratool.berkeley.edu/using-virtualbox.html).
-
-And, while you're looking ahead to our training, check out our [Learning
-Resources](learning_resources.html).
-
-## Agenda and Instructors
-
-Please note that the class will proceed at the pace of the students. Topics
-below are meant as guidelines, and are not guaranteed!
-
-### Instructing all days
-
- - Dav Clark
-
-### Monday, Aug 18 (FUNdamentals)
-
- - [Etherpad for the class](https://etherpad.mozilla.org/dlab-pro-fun-08-2014)
- - [Slides](https://docs.google.com/presentation/d/1RwrP4171VsgA-cj4p9h5bfOgZ4xWzH4Op_RlXqBgIss/edit?usp=sharing)
- - [Git Fundamentals on GitHub](https://github.com/dlab-berkeley/git-fundamentals)
-
-**Assistant Instructor:**
-
- - Dillon Niederhut
-
-### Tuesday, Aug 19
-
- - Basic operations
- - reusable code
- - and testing
- - [Etherpad for Python day 1](https://etherpad.mozilla.org/dlab-py-fun-day1-08-2014)
- - [Python FUNdamentals on GitHub](https://github.com/dlab-berkeley/python-fundamentals)
- - [Intro Notebook](https://github.com/dlab-berkeley/python-fundamentals/blob/master/cheat-sheets/01-Intro.ipynb)
- - [Functions Notebook](https://github.com/dlab-berkeley/python-fundamentals/blob/master/cheat-sheets/02-Functions%20and%20Using%20Modules.ipynb)
-
-**Assistant Instructor:**
-
- - Matt Davis
-
-### Wednesday, Aug 20
-
- - Strings (and using methods)
- - making choices
- - [Etherpad for Python day 2](https://etherpad.mozilla.org/dlab-py-fun-day1-08-2014)
- - Continue using resources from Tuesday!
-
-**Assistant Instructor:**
-
- - Danny Hermes
-
-### Thursday, Aug 21
-
- - containers
- - Repeating things
- - [Etherpad for Python day 3](https://etherpad.mozilla.org/dlab-py-fun-day1-08-2014)
- - Continue using resources from Tuesday and Wednesday!
- - [Scrape the web](http://docs.python-guide.org/en/latest/scenarios/scrape/)
-
-**Assistant Instructor:**
-
- - MinRK
-
-### Friday, Aug 22
-
- - Text analysis of Hip Hop lyrics with Python
-
-**Guest Instructor:**
-
- - Omoju Miller
-
-## Join The Community!
-
-We keep track of our *Friday 4-6pm meetings* (this summer, about *every other
-week*) on our [events page](/events). **We'll have a meeting right after the
-Friday class.**
-
-Upcoming events, and links to our mailing list and calendar are always available
-in the side bar at the right (or above on mobile/narrow browsers). All are
-welcome! Sometimes there are better resources (like [Stack
-Overflow](http://stackoverflow.com), or even just Google), but the Berkeley
-Python community is always happy to get you moving in the right direction.
-
-Check out the [Python Workers'
-Party](events/2014/01/24/python-workers-party-rally.html) announcement for the
-current history of the Berkeley Python community, including our
-zany/revolutionary python party graphic!
diff --git a/trainings/2015-01-berkeley-dlab.md b/trainings/2015-01-berkeley-dlab.md
deleted file mode 100644
index ff736dd..0000000
--- a/trainings/2015-01-berkeley-dlab.md
+++ /dev/null
@@ -1,106 +0,0 @@
----
-layout: page
-redirect_from: /trainings/2015-01-berkeley-dlab.html
----
-
-
-
-# Potential instructors
-
-Currently, this training is being organized here (via pull requests), and on the
-related [issue on the github
-tracker](https://github.com/dlab-berkeley/python-berkeley/issues/37).
-
-Below is an incomplete schematic of what the course will hopefully look like,
-including instructors that I think could work for that day. Currently, if an
-instructor is listed below, it does NOT mean they are actually committed to
-teaching that day!
-
-Sign-up pages are up on the D-Lab site for
-[FUNdamentals](http://dlab.berkeley.edu/training/programming-fundamentals-0)
-(the first day, Monday), and the
-[intensive](http://dlab.berkeley.edu/training/python-intensive-2)
-(Tuesday-Friday). We'll probably have a party at the end, as per usual.
-
-## Getting ready
-
-Please download and install BCE 0.2 for VirtualBox. Links and instructions are
-[here](http://collaboratool.berkeley.edu/using-virtualbox.html). NOTE - BCE 0.2
-IS NOT YET RELEASED. URL IS SUBJECT TO CHANGE!
-
-And, while you're looking ahead to our training, check out our [Learning
-Resources](learning_resources.html).
-
-## Agenda and Instructors
-
-Please note that the class will proceed at the pace of the students. Topics
-below are meant as guidelines, and are not guaranteed!
-
-
-### Monday, Jan 12 (FUNdamentals)
-
-Instructor (confirmed!): @rochelleterman
-
-Learn about the command line (in particular, installing packages and running
-scripts), PyCharm (and the general idea of text editors), and the IPython
-notebook (including the NBviewer).
-
- - [Etherpad for the class]()
- - [Slides](https://docs.google.com/presentation/d/1RwrP4171VsgA-cj4p9h5bfOgZ4xWzH4Op_RlXqBgIss/edit?usp=sharing) (instructor is welcome to change)
- - [Git Fundamentals on GitHub](https://github.com/dlab-berkeley/git-fundamentals)
-
-
-### Tuesday, Jan 13
-
-Instructor: @omoju
-
- - Drawing things
- - Text analysis of Hip Hop lyrics with Python
-
- - Basic operations
- - reusable code
- - and testing
- - [Etherpad for Python day 1]()
- - [Python FUNdamentals on GitHub](https://github.com/dlab-berkeley/python-fundamentals)
- - [Intro Notebook](https://github.com/dlab-berkeley/python-fundamentals/blob/master/cheat-sheets/01-Intro.ipynb)
- - [Functions Notebook](https://github.com/dlab-berkeley/python-fundamentals/blob/master/cheat-sheets/02-Functions%20and%20Using%20Modules.ipynb)
-
-
-### Wednesday, Jan 14
-
-Instructor: @emhart
-Assisting: @rochelleterman
-
- - Strings (and using methods)
- - making choices
- - [Etherpad for Python day 2]()
- - Continue using resources from Tuesday!
-
-
-### Thursday, Jan 15
-
-Instructor: @takluyver
-Assisting: @rdhyee
-
- - containers
- - Repeating things
- - [Etherpad for Python day 3]()
- - Continue using resources from Tuesday and Wednesday!
- - [Scrape the web](http://docs.python-guide.org/en/latest/scenarios/scrape/)
-
-
-### Friday, Jan 16
-
-Instructor: @davclark
-
-## Join The Community!
-
-We keep track of our *Friday 4:30-6pm meetings* on our [events page](/events).
-**We'll have a meeting right after the Friday class.** (TBD)
-
-Upcoming events, and links to our mailing list and calendar, along with our
-sister organization, The Hacker Within, are always available in the side bar at
-the right (or above on mobile/narrow browsers). All are welcome! Sometimes there
-are better resources (like [Stack Overflow](http://stackoverflow.com), or even
-just Google), but the Berkeley Python community is always happy to get you
-moving in the right direction.
diff --git a/trainings/2015-05-berkeley-dlab.md b/trainings/2015-05-berkeley-dlab.md
deleted file mode 100644
index 6241fd7..0000000
--- a/trainings/2015-05-berkeley-dlab.md
+++ /dev/null
@@ -1,121 +0,0 @@
----
-layout: page
-redirect_from: /trainings/2015-05-berkeley-dlab.html
----
-
-
-
-# Potential instructors
-
-Currently, this training is being organized here (via pull requests), and on the
-related [issue on the github
-tracker](https://github.com/dlab-berkeley/python-berkeley/issues/37).
-
-Below is an incomplete schematic of what the course will approximately look like,
-instructors for each day. Again, I'd like to have a short party at the end.
-
-A sign-up page still needs to be made on the D-Lab site.
-
-## Getting ready
-
-We'll use the most recent version of BCE for VirtualBox. Links and instructions
-are [here](http://bce.berkeley.edu/install.html). While it's a bit sharp-edged,
-we'll use the most recent [Summer Preview
-version](https://berkeley.box.com/s/0hibyy77ojyv6v1ybynioz44htwzs99v), along
-with the most recent version of
-[VirtualBox](https://www.virtualbox.org/wiki/Downloads).
-
-And, while you're looking ahead to our training, check out our [Learning
-Resources](learning_resources.html).
-
-## Agenda and Instructors
-
-Please note that the class will proceed at the pace of the students. Topics
-below are meant as guidelines, and are not guaranteed!
-
-
-### Monday, May 18
-
-Instructor: @davclark
-
-Learn about the command line (in particular, installing packages and running
-scripts), getting files with Git, PyCharm (and the general idea of text
-editors), and the learning materials embedded in PyCharm.
-
- - [Etherpad for the class](https://etherpad.mozilla.org/2015-05-dlab-fundamentals)
- - [Slides](https://docs.google.com/presentation/d/1RwrP4171VsgA-cj4p9h5bfOgZ4xWzH4Op_RlXqBgIss/edit?usp=sharing)
- - [Git Fundamentals on GitHub](https://github.com/dlab-berkeley/git-fundamentals)
-
-
-### Tuesday, May 19
-
-Instructor: @davclark
-
- - Text analysis of Hip Hop lyrics with Python
-
- - Basic operations
- - Working with strings (text)
- - Containers
- - Loops
- - Reusable code
- - [Etherpad for day 2](https://etherpad.mozilla.org/2015-05-dlab-fundamentals-2)
-
-Materials:
-
- - [HipHopathy](https://github.com/omoju/hiphopathy)
- - [NBViewer](http://nbviewer.ipython.org)
- - [Our Project](https://github.com/davclark/2015-05-fundamentals-hiphopathy)
-
-### Wednesday, May 20
-
-Instructor: @davclark
-
- - Strings (and using methods)
- - making choices
- - [Etherpad for Python day 3](https://etherpad.mozilla.org/2015-05-dlab-fundamentals-3)
- - Continue using resources from Tuesday!
-
-
-### Thursday, May 21
-
-Instructor: @deniederhut
-
- - containers
- - Repeating things
- - TwitterAPI (link?)
- - Etherpad for Python day 4??
- - Continue using resources from Tuesday and Wednesday!
-
-
-### Friday, Jan 16
-
-Instructor: @davclark
-
- - [Etherpad for Python day
- 5](https://etherpad.mozilla.org/2015-05-dlab-fundamentals-5)
- - Working with tabular data, standard library vs. Pandas (the [standard
- documentation](http://pandas.pydata.org/pandas-docs/version/0.16.1/) is a bit
- tough, so I'd recommend [this
- book](http://proquest.safaribooksonline.com/book/programming/python/9781449323592))
- - For plotting, the place to start is
- [matplotlib](http://matplotlib.org/index.html), but
- [Seaborn](http://stanford.edu/~mwaskom/software/seaborn/) looks nicer by
- default (matplotlib is also covered well in the above-mentioned
- [book](http://proquest.safaribooksonline.com/book/programming/python/9781449323592)).
- - [Scrape the web](http://docs.python-guide.org/en/latest/scenarios/scrape/)
- - Dav's current project to [scrape the CA Dept. of
- Ed.](https://github.com/davclark/LEA-scrapr)
- - Saving time with [NLTK](http://www.nltk.org/)
-
-## Join The Community!
-
-We keep track of our *Friday 2:30-4:30pm Social Computing meetings* on our [mailing
-list](https://www.mail-archive.com/socialcomputing@lists.berkeley.edu).
-**We won't have a meeting right after the Friday class, but join the mailing
-list! (look in the sidebar, or above on mobile/narrow browsers).**
-
-Upcoming events, and links to our mailing list and calendar, along with our
-sister organization, The Hacker Within, are also available in the side bar at
-the right. All are welcome! Sometimes there are better resources (like [Stack
-Overflow](http://stackoverflow.com), or even just Google), but the Berkeley
-Python community is always happy to get you moving in the right direction.
diff --git a/trainings/2015-08-berkeley-dlab.md b/trainings/2015-08-berkeley-dlab.md
deleted file mode 100644
index ebc1357..0000000
--- a/trainings/2015-08-berkeley-dlab.md
+++ /dev/null
@@ -1,112 +0,0 @@
----
-layout: page
-redirect_from: /trainings/2015-08-berkeley-dlab.html
----
-
-
-
-## Welcome to Python!
-
-Below is a *schematic* of what the course will look like, including instructors
-for each day. It provides info that complements the [info on the D-Lab
-website](http://dlab.berkeley.edu/training/programming-fundamentals-python-intensive).
-
-## Getting ready
-
-We'll use the most recent version of BCE for VirtualBox. Links and instructions
-are [here](http://bce.berkeley.edu/install.html). We'll use the Summer 2015
-version (so if you have a previous version installed, please upgrade!). The
-instructions recommend using an older (tested) version of VirtualBox, but I've
-been happily using version 5.0 which should have better performance on Windows
--- [VirtualBox](https://www.virtualbox.org/wiki/Downloads).
-
-And, while you're looking ahead to our training, check out our [Learning
-Resources](learning_resources.html).
-
-## Agenda and Instructors
-
-Please note that the class will proceed at the pace of the students. Topics
-below are meant as guidelines, and are not guaranteed!
-
-
-### Monday, August 17 [(Programming FUNdamentals)](http://dlab.berkeley.edu/training/programming-fundamentals-4)
-
-Instructor: @deniederhut
-
-Learn the fundamentals of unix systems, the command line, scripts, and version control.
-
- - [Unix Fundamentals](https://docs.google.com/presentation/d/1RwrP4171VsgA-cj4p9h5bfOgZ4xWzH4Op_RlXqBgIss/edit?usp=sharing)
- - [Git Fundamentals on GitHub](https://github.com/dlab-berkeley/git-fundamentals)
-
-
-
-### Tuesday, August 18
-
-Instructor: @davclark
-
- - Text analysis of Hip Hop lyrics with Python
- - Basic operations
- - Working with strings (text)
- - Reusable code
- - [Click here for the class Etherpad](https://etherpad.mozilla.org/2015-08-dlab-python)
-
-Materials:
-
- - [HipHopathy](https://github.com/omoju/hiphopathy)
- - [NBViewer](http://nbviewer.ipython.org)
- - [Our Project](https://github.com/davclark/2015-05-fundamentals-hiphopathy)
-
-### Wednesday, August 19
-
-Instructor: @marwahaha
-
- - Variables
- - Modules
- - Functions
- - Web-scraping
- - [Click here for the class Etherpad](https://etherpad.mozilla.org/2015-08-dlab-python)
- - Continue using resources from Tuesday!
-
-
-### Thursday, August 20
-
-Instructor: @deniederhut
-
- - Containers
- - Loops (for and while)
- - Control
- - [APIs, Twitter, and Bots](https://github.com/deniederhut/workshop_bots)
- - [Click here for the class Etherpad](https://etherpad.mozilla.org/2015-08-dlab-python)
- - Continue using resources from Tuesday and Wednesday!
-
-
-### Friday, August 21
-
-Instructor: @rdhyee
-
- - [Click here for the class Etherpad](https://etherpad.mozilla.org/2015-08-dlab-python)
- - Working with tabular data, standard library vs. Pandas (the [standard
- documentation](http://pandas.pydata.org/pandas-docs/version/0.16.1/) is a bit
- tough, so I'd recommend [this
- book](http://proquest.safaribooksonline.com/book/programming/python/9781449323592))
- - For plotting, the place to start is
- [matplotlib](http://matplotlib.org/index.html), but
- [Seaborn](http://stanford.edu/~mwaskom/software/seaborn/) looks nicer by
- default (matplotlib is also covered well in the above-mentioned
- [book](http://proquest.safaribooksonline.com/book/programming/python/9781449323592)).
- - [Scrape the web](http://docs.python-guide.org/en/latest/scenarios/scrape/)
- - Dav's current project to [scrape the CA Dept. of
- Ed.](https://github.com/davclark/LEA-scrapr)
- - Saving time with [NLTK](http://www.nltk.org/)
-
-## Join The Community!
-
-We keep track of our *occasional Social Computing meetings* on our [mailing
-list](https://www.mail-archive.com/socialcomputing@lists.berkeley.edu) --
-**look in the sidebar, or above on mobile/narrow browsers.**
-
-Upcoming events, and links to our mailing list and calendar, along with our
-sister organization, The Hacker Within, are also available in the side bar at
-the right. All are welcome! Sometimes there are better resources (like [Stack
-Overflow](http://stackoverflow.com), or even just Google), but the Berkeley
-Python community is always happy to get you moving in the right direction.
diff --git a/trainings/index.md b/trainings/index.md
deleted file mode 100644
index 2f4c848..0000000
--- a/trainings/index.md
+++ /dev/null
@@ -1,16 +0,0 @@
----
-layout: page
----
-
-
-Trainings:
-
-
-
-* [D-Lab, UC Berkeley, August 2015](/trainings/2015-08-berkeley-dlab)
-
-* [D-Lab, UC Berkeley, May 2015](/trainings/2015-05-berkeley-dlab)
-
-* [D-Lab, UC Berkeley, January 2015](/trainings/2015-01-berkeley-dlab)
-
-* [D-Lab, UC Berkeley, August 2014](/trainings/2014-08-berkeley-dlab)